diff --git a/contracts/bugs/DepositToken.sol b/contracts/bugs/DepositToken.sol new file mode 100644 index 0000000..c9c99e3 --- /dev/null +++ b/contracts/bugs/DepositToken.sol @@ -0,0 +1,10 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.13; + +import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol"; + +contract DepositToken is ERC20("VaultToken", "VLT") { + function mint(address to, uint256 amount) external { + _mint(to, amount); + } +} diff --git a/contracts/bugs/Forwarder.sol b/contracts/bugs/Forwarder.sol new file mode 100644 index 0000000..6f1e8ae --- /dev/null +++ b/contracts/bugs/Forwarder.sol @@ -0,0 +1,15 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.13; + +contract Forwarder { + event Forwarded(address indexed target, bytes data); + + function forward(address target, bytes calldata data) + external + returns (bool) + { + (bool success,) = target.call(data); + emit Forwarded(target, data); + return success; + } +} diff --git a/contracts/bugs/OwnedRegistry.sol b/contracts/bugs/OwnedRegistry.sol new file mode 100644 index 0000000..622c7b4 --- /dev/null +++ b/contracts/bugs/OwnedRegistry.sol @@ -0,0 +1,17 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.13; + +import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol"; + +contract OwnedRegistry is Ownable { + uint256 public value; + + event ValueSet(uint256 value); + + constructor(address initialOwner) Ownable(initialOwner) {} + + function setValue(uint256 newValue) external onlyOwner { + value = newValue; + emit ValueSet(newValue); + } +} diff --git a/contracts/bugs/SixDecimalToken.sol b/contracts/bugs/SixDecimalToken.sol new file mode 100644 index 0000000..36d6a4b --- /dev/null +++ b/contracts/bugs/SixDecimalToken.sol @@ -0,0 +1,14 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.13; + +import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol"; + +contract SixDecimalToken is ERC20("TestUSD", "TUSD") { + function decimals() public pure override returns (uint8) { + return 6; + } + + function mint(address to, uint256 amount) external { + _mint(to, amount); + } +} diff --git a/contracts/bugs/Vault.sol b/contracts/bugs/Vault.sol new file mode 100644 index 0000000..b14aa8a --- /dev/null +++ b/contracts/bugs/Vault.sol @@ -0,0 +1,22 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.13; + +import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; + +contract Vault { + IERC20 public immutable token; + + mapping(address => uint256) public deposits; + + event Deposited(address indexed from, uint256 amount); + + constructor(IERC20 token_) { + token = token_; + } + + function deposit(uint256 amount) external { + token.transferFrom(msg.sender, address(this), amount); + deposits[msg.sender] += amount; + emit Deposited(msg.sender, amount); + } +} diff --git a/contracts/scripts/BugsDeploy.s.sol b/contracts/scripts/BugsDeploy.s.sol new file mode 100644 index 0000000..1cc3317 --- /dev/null +++ b/contracts/scripts/BugsDeploy.s.sol @@ -0,0 +1,46 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.13; + +import {Script, console} from "forge-std/Script.sol"; + +import {OwnedRegistry} from "contracts/bugs/OwnedRegistry.sol"; +import {SixDecimalToken} from "contracts/bugs/SixDecimalToken.sol"; +import {Vault} from "contracts/bugs/Vault.sol"; +import {DepositToken} from "contracts/bugs/DepositToken.sol"; +import {Forwarder} from "contracts/bugs/Forwarder.sol"; + +// Seeds the broken on-chain state the MCP debug demo relies on. +// See docs/mcp-debug-runbook.md. +contract BugsDeployScript is Script { + address alice = address(0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266); + address bob = address(0x70997970C51812dc3A010C7d01b50e0d17dc79C8); + + function run() public { + vm.startBroadcast(); + + // Scenario 2: owned by bob, while ethui's active account is alice. + OwnedRegistry registry = new OwnedRegistry(bob); + console.log("OwnedRegistry", address(registry)); + + // Scenario 3: 6 decimals, funded so the balance reads as a round 100. + SixDecimalToken sixDecimalToken = new SixDecimalToken(); + sixDecimalToken.mint(alice, 100e6); + sixDecimalToken.mint(bob, 100e6); + console.log("SixDecimalToken", address(sixDecimalToken)); + + // Scenario 4: funded accounts, deliberately zero approvals. + DepositToken depositToken = new DepositToken(); + depositToken.mint(alice, 100e18); + depositToken.mint(bob, 100e18); + Vault vault = new Vault(depositToken); + console.log("DepositToken", address(depositToken)); + console.log("Vault", address(vault)); + + // Scenario 5: forwards into the bob-owned registry, so the inner call + // always reverts and is swallowed. + Forwarder forwarder = new Forwarder(); + console.log("Forwarder", address(forwarder)); + + vm.stopBroadcast(); + } +} diff --git a/contracts/test/bugs/Forwarder.d.sol b/contracts/test/bugs/Forwarder.d.sol new file mode 100644 index 0000000..a434a6d --- /dev/null +++ b/contracts/test/bugs/Forwarder.d.sol @@ -0,0 +1,44 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.13; + +// INVERTED TEST: this passes while the demo bug is present. Do not "fix" it. +// Scenario 5 depends on forward() swallowing a failed inner call: the outer +// transaction succeeds and emits Forwarded even though nothing changed. + +import {Test} from "forge-std/Test.sol"; + +import {Forwarder} from "contracts/bugs/Forwarder.sol"; +import {OwnedRegistry} from "contracts/bugs/OwnedRegistry.sol"; + +contract ForwarderTest is Test { + address alice = address(0xA11CE); + address bob = address(0xB0B); + + Forwarder forwarder; + OwnedRegistry registry; + + function setUp() public { + forwarder = new Forwarder(); + registry = new OwnedRegistry(bob); + } + + function test_forward_swallowsFailure() public { + bytes memory data = abi.encodeCall(OwnedRegistry.setValue, (42)); + + vm.prank(alice); + bool success = forwarder.forward(address(registry), data); + + assertFalse(success); + assertEq(registry.value(), 0); + } + + function test_forward_emitsEvenWhenInnerCallFails() public { + bytes memory data = abi.encodeCall(OwnedRegistry.setValue, (42)); + + vm.expectEmit(true, false, false, true); + emit Forwarder.Forwarded(address(registry), data); + + vm.prank(alice); + forwarder.forward(address(registry), data); + } +} diff --git a/contracts/test/bugs/OwnedRegistry.d.sol b/contracts/test/bugs/OwnedRegistry.d.sol new file mode 100644 index 0000000..574968b --- /dev/null +++ b/contracts/test/bugs/OwnedRegistry.d.sol @@ -0,0 +1,35 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.13; + +// INVERTED TEST: this passes while the demo bug is present. Do not "fix" it. +// Scenario 2 depends on setValue reverting for a non-owner caller. + +import {Test} from "forge-std/Test.sol"; +import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol"; + +import {OwnedRegistry} from "contracts/bugs/OwnedRegistry.sol"; + +contract OwnedRegistryTest is Test { + address alice = address(0xA11CE); + address bob = address(0xB0B); + + OwnedRegistry registry; + + function setUp() public { + registry = new OwnedRegistry(bob); + } + + function test_setValue_revertsForNonOwner() public { + vm.prank(alice); + vm.expectRevert( + abi.encodeWithSelector(Ownable.OwnableUnauthorizedAccount.selector, alice) + ); + registry.setValue(42); + } + + function test_setValue_succeedsForOwner() public { + vm.prank(bob); + registry.setValue(42); + assertEq(registry.value(), 42); + } +} diff --git a/contracts/test/bugs/SixDecimalToken.d.sol b/contracts/test/bugs/SixDecimalToken.d.sol new file mode 100644 index 0000000..0253202 --- /dev/null +++ b/contracts/test/bugs/SixDecimalToken.d.sol @@ -0,0 +1,35 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.13; + +// INVERTED TEST: this passes while the demo bug is present. Do not "fix" it. +// Scenario 3 depends on this token reporting 6 decimals, not 18. + +import {Test} from "forge-std/Test.sol"; +import {IERC20Errors} from "@openzeppelin/contracts/interfaces/draft-IERC6093.sol"; + +import {SixDecimalToken} from "contracts/bugs/SixDecimalToken.sol"; + +contract SixDecimalTokenTest is Test { + address alice = address(0xA11CE); + + SixDecimalToken token; + + function setUp() public { + token = new SixDecimalToken(); + token.mint(alice, 100e6); + } + + function test_decimals_isSix() public view { + assertEq(token.decimals(), 6); + } + + function test_transfer_revertsWhenAmountUsesEighteenDecimals() public { + vm.prank(alice); + vm.expectRevert( + abi.encodeWithSelector( + IERC20Errors.ERC20InsufficientBalance.selector, alice, 100e6, 100e18 + ) + ); + token.transfer(address(0xB0B), 100e18); + } +} diff --git a/contracts/test/bugs/Vault.d.sol b/contracts/test/bugs/Vault.d.sol new file mode 100644 index 0000000..57e061d --- /dev/null +++ b/contracts/test/bugs/Vault.d.sol @@ -0,0 +1,43 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.13; + +// INVERTED TEST: this passes while the demo bug is present. Do not "fix" it. +// Scenario 4 depends on deposit reverting when the caller has not approved. + +import {Test} from "forge-std/Test.sol"; +import {IERC20Errors} from "@openzeppelin/contracts/interfaces/draft-IERC6093.sol"; + +import {Vault} from "contracts/bugs/Vault.sol"; +import {DepositToken} from "contracts/bugs/DepositToken.sol"; + +contract VaultTest is Test { + address alice = address(0xA11CE); + + DepositToken token; + Vault vault; + + function setUp() public { + token = new DepositToken(); + vault = new Vault(token); + token.mint(alice, 100e18); + } + + function test_deposit_revertsWithoutApproval() public { + vm.prank(alice); + vm.expectRevert( + abi.encodeWithSelector( + IERC20Errors.ERC20InsufficientAllowance.selector, address(vault), 0, 10e18 + ) + ); + vault.deposit(10e18); + } + + function test_deposit_succeedsAfterApproval() public { + vm.startPrank(alice); + token.approve(address(vault), 10e18); + vault.deposit(10e18); + vm.stopPrank(); + + assertEq(vault.deposits(alice), 10e18); + } +} diff --git a/docs/superpowers/plans/2026-07-25-mcp-debug-scenarios.md b/docs/superpowers/plans/2026-07-25-mcp-debug-scenarios.md new file mode 100644 index 0000000..7fb386a --- /dev/null +++ b/docs/superpowers/plans/2026-07-25-mcp-debug-scenarios.md @@ -0,0 +1,1369 @@ +# MCP Debug Scenarios Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** Add five deliberately-planted bug scenarios to the ethui demo app so an agent connected over MCP can diagnose each one from live chain state. + +**Architecture:** Four new Solidity contracts under `contracts/bugs/` plus a `BugsDeploy.s.sol` script that seeds the broken on-chain state (ownership assigned to bob, tokens minted, zero approvals). Five new TanStack routes under `src/routes/bugs/`, each stating its intent, exposing a button, and printing the raw error verbatim through a shared `RawError` component. Inverted forge tests under `contracts/test/bugs/` assert each bug still reproduces. + +**Tech Stack:** Foundry (solc 0.8.27, soldeer, OpenZeppelin 5.0.2), React 19, TanStack Router (file-based), wagmi 2 + viem 2 with `@wagmi/cli` foundry codegen, Tailwind 3, Biome. + +**Spec:** `docs/superpowers/specs/2026-07-25-mcp-debug-scenarios-design.md` + +## Global Constraints + +- Branch is `demo/mcp-debug-scenarios`. All work commits there. +- **No scenario may be diagnosable from source alone.** Where the bug lives in source, the source must look idiomatic and a competing explanation must exist that only chain state rules out. +- Forge test files live at `contracts/test/**/*.d.sol` (not `.t.sol` — this repo uses `.d.sol`) and the contract name must end in `Test`. +- **Forge tests here are inverted: they pass when the bug is present.** Every bug test file opens with a comment saying so, so nobody "repairs" them later. +- **An inverted revert test must pin the specific error**, not a bare `vm.expectRevert()`. A bare expectation also passes when the contract reverts for an unrelated reason, so it would not notice the scenario silently changing into a different bug. +- Solidity: `pragma solidity ^0.8.13;`, SPDX header `// SPDX-License-Identifier: MIT`. OpenZeppelin imports use the `@openzeppelin/contracts/` remapping. +- Frontend imports: `#/` alias for cross-tree imports (`#/wagmi.generated`, `#/components/...`), relative paths for siblings inside `src/routes/bugs/`. +- Styling: Tailwind classes only. No raw px or hex values. +- `src/routeTree.gen.ts` is generated by the TanStack Vite plugin. Never hand-edit it. +- Routes must print raw error text. Never catch-and-prettify — the raw error is the demo's starting evidence. +- Run `yarn fix:biome` before every commit. `yarn lint` (biome + `tsc --noEmit`) is the frontend gate; this repo has no frontend test runner, so browser checks are manual and explicitly marked as such. +- Commit messages: no `Co-Authored-By` trailer. +- **Anvil must already be running** (`mprocs` starts it). Do not start servers — ask the user to start them if they are not up. + +## Deployment address handling + +`wagmi.config.ts` hardcodes deployment addresses per chain, and `scripts/eth-deploy.sh` logs them. Bug contract addresses depend on the deployer's nonce, which continues from `DevDeployScript`. Consequence: **adding or removing a deploy in `DevDeploy.s.sol` shifts every bug address and requires re-pasting.** Each task that deploys a contract ends by running the deploy script, reading the logged address, and pasting it into `wagmi.config.ts`. Task 7 records this hazard in the runbook. + +## File Structure + +**Create:** +- `contracts/bugs/OwnedRegistry.sol` — `onlyOwner` setter. Target of scenarios 2 and 5. +- `contracts/bugs/SixDecimalToken.sol` — ERC20 reporting `decimals() = 6`. Scenario 3. +- `contracts/bugs/DepositToken.sol` — plain 18-decimal ERC20, distinct symbol so it is not confused with `Token` in ethui's UI. Scenario 4. +- `contracts/bugs/Vault.sol` — pulls `DepositToken` via `transferFrom`. Scenario 4. +- `contracts/bugs/Forwarder.sol` — unchecked low-level call. Scenario 5. +- `contracts/scripts/BugsDeploy.s.sol` — deploys the above, seeds broken state. +- `contracts/test/bugs/OwnedRegistry.d.sol`, `SixDecimalToken.d.sol`, `Vault.d.sol`, `Forwarder.d.sol` — inverted tests. +- `src/components/raw-error.tsx` — renders an error and its full cause chain verbatim. +- `src/routes/bugs/index.tsx` — scenario list. +- `src/routes/bugs/stale-address.tsx`, `access-control.tsx`, `decimals.tsx`, `allowance.tsx`, `silent-failure.tsx`. +- `docs/mcp-debug-runbook.md` — presenter script and success criteria. + +**Modify:** +- `wagmi.config.ts` — add deployments for the five new contracts. +- `scripts/eth-deploy.sh` — run `BugsDeployScript` after `DevDeployScript`. +- `src/components/app-sidebar.tsx` — add a "Bugs" nav group. + +**Note on the spec:** the spec lists four bug contracts. This plan adds a fifth, `DepositToken.sol`, so scenario 4 does not share a token with scenario 3 (sharing would let the two scenarios' symptoms contaminate each other) and so the vault token has a distinct symbol in ethui's UI. + +--- + +### Task 1: Scenario 1 — stale address, plus the bugs route group + +**Files:** +- Create: `src/components/raw-error.tsx` +- Create: `src/routes/bugs/index.tsx` +- Create: `src/routes/bugs/stale-address.tsx` +- Modify: `src/components/app-sidebar.tsx` +- Test: none automated (frontend-only; verification is `yarn lint` plus a manual browser check) + +**Interfaces:** +- Consumes: `testCallsAbi` from `#/wagmi.generated` (already exists). +- Produces: `RawError` component — `({ error }: { error: unknown }) => JSX.Element | null`. Every later bug route uses it. + +- [ ] **Step 1: Create the shared raw-error component** + +`src/components/raw-error.tsx`: + +```tsx +interface Props { + error: unknown; +} + +function chain(error: unknown): string[] { + const lines: string[] = []; + let current = error; + while (current instanceof Error) { + lines.push(`${current.name}: ${current.message}`); + current = current.cause; + } + if (current != null) lines.push(String(current)); + return lines; +} + +export function RawError({ error }: Props) { + if (!error) return null; + + return ( +
+      {chain(error).join("\n\n")}
+    
+ ); +} +``` + +- [ ] **Step 2: Create the bugs index route** + +`src/routes/bugs/index.tsx`: + +```tsx +import { createFileRoute, Link } from "@tanstack/react-router"; + +export const Route = createFileRoute("/bugs/")({ + beforeLoad: () => ({ breadcrumb: "Bugs" }), + component: Bugs, +}); + +const scenarios = [ + { title: "Stale address", to: "/bugs/stale-address" }, + { title: "Access control", to: "/bugs/access-control" }, + { title: "Decimals", to: "/bugs/decimals" }, + { title: "Allowance", to: "/bugs/allowance" }, + { title: "Silent failure", to: "/bugs/silent-failure" }, +]; + +function Bugs() { + return ( +
+

+ Each page below is broken. The page tells you what it is supposed to do + and shows the raw error. It does not tell you why. +

+ +
+ ); +} +``` + +- [ ] **Step 3: Pick a stale address with no code** + +Anvil must be running. Run: + +```bash +cast code 0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9 --rpc-url http://localhost:8545 +``` + +Expected: `0x` + +If it returns bytecode, pick another address from the anvil deterministic range and re-run until one returns `0x`. Use whichever address returned `0x` as `STALE_ADDRESS` in the next step. + +- [ ] **Step 4: Create the stale-address route** + +`src/routes/bugs/stale-address.tsx`: + +```tsx +import { createFileRoute } from "@tanstack/react-router"; +import { useReadContract } from "wagmi"; +import { RawError } from "#/components/raw-error"; +import { testCallsAbi } from "#/wagmi.generated"; + +export const Route = createFileRoute("/bugs/stale-address")({ + beforeLoad: () => ({ breadcrumb: "Stale address" }), + component: StaleAddress, +}); + +const STALE_ADDRESS = "0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9" as const; + +function StaleAddress() { + const { data, error } = useReadContract({ + address: STALE_ADDRESS, + abi: testCallsAbi, + functionName: "length_uintArry", + }); + + return ( +
+

+ Should read length_uintArry() from TestCalls at{" "} + {STALE_ADDRESS} and print 10. +

+ {data !== undefined &&

Value: {String(data)}

} + +
+ ); +} +``` + +- [ ] **Step 5: Add the Bugs nav group to the sidebar** + +In `src/components/app-sidebar.tsx`, append to the `data.navMain` array, after the `ethui_*` entry: + +```tsx + { + title: "Bugs", + url: "#", + items: [{ title: "Stale address", to: "/bugs/stale-address" }], + }, +``` + +Only the one item. The other four routes do not exist yet, so `tsc` would reject their `to` values; each later task adds its own item when it creates its route. + +- [ ] **Step 6: Lint** + +```bash +yarn fix:biome && yarn lint +``` + +Expected: PASS. If `tsc` complains about an unknown route, the dev server must regenerate `src/routeTree.gen.ts` — ask the user to restart it, then re-run. + +- [ ] **Step 7: Manual browser check** + +Open `/bugs/stale-address`. Expected: a red block reading roughly + +``` +ContractFunctionZeroDataError: The contract function "length_uintArry" returned no data ("0x"). +``` + +Confirm the page gives no hint about why. + +- [ ] **Step 8: Commit** + +```bash +git add src/components/raw-error.tsx src/routes/bugs src/components/app-sidebar.tsx src/routeTree.gen.ts +git commit -m "feat(bugs): stale address scenario and bugs route group" +``` + +--- + +### Task 2: Scenario 2 — wrong active account + +**Files:** +- Create: `contracts/bugs/OwnedRegistry.sol` +- Create: `contracts/test/bugs/OwnedRegistry.d.sol` +- Create: `contracts/scripts/BugsDeploy.s.sol` +- Create: `src/routes/bugs/access-control.tsx` +- Modify: `scripts/eth-deploy.sh`, `wagmi.config.ts`, `src/components/app-sidebar.tsx` + +**Interfaces:** +- Produces: `OwnedRegistry` with `owner() → address`, `value() → uint256`, `setValue(uint256)` gated by `onlyOwner`, and `event ValueSet(uint256 value)`. Task 5 calls `setValue` through `Forwarder` and reads `value()`. +- Produces: `BugsDeployScript` — later tasks append their deploys to its `run()`. +- Produces: generated hooks `useReadOwnedRegistryOwner`, `useReadOwnedRegistryValue`, `useWriteOwnedRegistrySetValue`, and `ownedRegistryAbi`. + +- [ ] **Step 1: Write the failing test** + +`contracts/test/bugs/OwnedRegistry.d.sol`: + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.13; + +// INVERTED TEST: this passes while the demo bug is present. Do not "fix" it. +// Scenario 2 depends on setValue reverting for a non-owner caller. + +import {Test} from "forge-std/Test.sol"; +import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol"; + +import {OwnedRegistry} from "contracts/bugs/OwnedRegistry.sol"; + +contract OwnedRegistryTest is Test { + address alice = address(0xA11CE); + address bob = address(0xB0B); + + OwnedRegistry registry; + + function setUp() public { + registry = new OwnedRegistry(bob); + } + + function test_setValue_revertsForNonOwner() public { + vm.prank(alice); + vm.expectRevert( + abi.encodeWithSelector(Ownable.OwnableUnauthorizedAccount.selector, alice) + ); + registry.setValue(42); + } + + function test_setValue_succeedsForOwner() public { + vm.prank(bob); + registry.setValue(42); + assertEq(registry.value(), 42); + } +} +``` + +- [ ] **Step 2: Run test to verify it fails** + +```bash +forge test --match-path 'contracts/test/bugs/*' +``` + +Expected: FAIL — compilation error, `contracts/bugs/OwnedRegistry.sol` not found. + +- [ ] **Step 3: Write the contract** + +`contracts/bugs/OwnedRegistry.sol`: + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.13; + +import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol"; + +contract OwnedRegistry is Ownable { + uint256 public value; + + event ValueSet(uint256 value); + + constructor(address initialOwner) Ownable(initialOwner) {} + + function setValue(uint256 newValue) external onlyOwner { + value = newValue; + emit ValueSet(newValue); + } +} +``` + +- [ ] **Step 4: Run test to verify it passes** + +```bash +forge test --match-path 'contracts/test/bugs/*' +``` + +Expected: PASS, 2 tests. If forge reports no tests found, the subdirectory is not being discovered — re-run `forge test --list` and confirm `contracts/test/bugs/OwnedRegistry.d.sol` appears. + +- [ ] **Step 5: Create the deploy script** + +`contracts/scripts/BugsDeploy.s.sol`: + +```solidity +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.13; + +import {Script, console} from "forge-std/Script.sol"; + +import {OwnedRegistry} from "contracts/bugs/OwnedRegistry.sol"; + +// Seeds the broken on-chain state the MCP debug demo relies on. +// See docs/mcp-debug-runbook.md. +contract BugsDeployScript is Script { + address alice = address(0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266); + address bob = address(0x70997970C51812dc3A010C7d01b50e0d17dc79C8); + + function run() public { + vm.startBroadcast(); + + // Scenario 2: owned by bob, while ethui's active account is alice. + OwnedRegistry registry = new OwnedRegistry(bob); + console.log("OwnedRegistry", address(registry)); + + vm.stopBroadcast(); + } +} +``` + +- [ ] **Step 6: Run the bugs deploy from eth-deploy.sh** + +In `scripts/eth-deploy.sh`, immediately after the `out=$(forge script DevDeployScript ...)` block and its `result=$?` line, insert: + +```bash +bugs_out=$(forge script BugsDeployScript \ + --rpc-url http://localhost:8545 \ + --broadcast \ + --mnemonics "$MNEMONIC" \ + --sender "$SENDER") +result=$((result + $?)) +``` + +Then change the final line from + +```bash +echo "$out" | grep -A 5 "Logs" +``` + +to + +```bash +echo "$out" | grep -A 5 "Logs" +echo "$bugs_out" | grep -A 10 "Logs" +``` + +- [ ] **Step 7: Deploy and capture the address** + +```bash +./scripts/eth-deploy.sh +``` + +Expected: the log tail prints `OwnedRegistry 0x...`. Copy that address. + +- [ ] **Step 8: Register the deployment for codegen** + +In `wagmi.config.ts`, add inside `deployments`, using the address from Step 7 for both chains: + +```ts + OwnedRegistry: { + 31337: "0xPASTE_ADDRESS_FROM_STEP_7", + 31338: "0xPASTE_ADDRESS_FROM_STEP_7", + }, +``` + +Then regenerate: + +```bash +yarn wagmi generate +``` + +Expected: `src/wagmi.generated.ts` now exports `ownedRegistryAbi` and `useWriteOwnedRegistrySetValue`. + +- [ ] **Step 9: Create the route** + +`src/routes/bugs/access-control.tsx`: + +```tsx +import { Button } from "@ethui/ui/components/shadcn/button"; +import { createFileRoute } from "@tanstack/react-router"; +import { LoaderCircle, Play } from "lucide-react"; +import { RawError } from "#/components/raw-error"; +import { + useReadOwnedRegistryValue, + useWriteOwnedRegistrySetValue, +} from "#/wagmi.generated"; + +export const Route = createFileRoute("/bugs/access-control")({ + beforeLoad: () => ({ breadcrumb: "Access control" }), + component: AccessControl, +}); + +function AccessControl() { + const { data: value } = useReadOwnedRegistryValue(); + const { isPending, error, writeContract } = useWriteOwnedRegistrySetValue(); + + return ( +
+

+ Should set the registry value to 42. Current on-chain value:{" "} + {value === undefined ? "?" : String(value)} +

+
+ +
+ +
+ ); +} +``` + +- [ ] **Step 10: Add the sidebar entry** + +In `src/components/app-sidebar.tsx`, add to the `Bugs` group's `items`: + +```tsx + { title: "Access control", to: "/bugs/access-control" }, +``` + +- [ ] **Step 11: Lint and manually verify** + +```bash +yarn fix:biome && yarn lint +``` + +Expected: PASS. + +Open `/bugs/access-control` with alice as the active ethui account and click the button. Expected: the raw error mentions `OwnableUnauthorizedAccount`. Confirm the page never names bob. + +- [ ] **Step 12: Commit** + +```bash +git add contracts/bugs/OwnedRegistry.sol contracts/test/bugs/OwnedRegistry.d.sol \ + contracts/scripts/BugsDeploy.s.sol scripts/eth-deploy.sh wagmi.config.ts \ + src/wagmi.generated.ts src/routes/bugs/access-control.tsx \ + src/components/app-sidebar.tsx src/routeTree.gen.ts +git commit -m "feat(bugs): wrong active account scenario" +``` + +--- + +### Task 3: Scenario 3 — decimals mismatch + +**Files:** +- Create: `contracts/bugs/SixDecimalToken.sol` +- Create: `contracts/test/bugs/SixDecimalToken.d.sol` +- Create: `src/routes/bugs/decimals.tsx` +- Modify: `contracts/scripts/BugsDeploy.s.sol`, `wagmi.config.ts`, `src/components/app-sidebar.tsx` + +**Interfaces:** +- Consumes: `BugsDeployScript` from Task 2. +- Produces: `SixDecimalToken` with `decimals() → 6`, `mint(address,uint256)`, and the standard ERC20 surface. Generated hooks `useWriteSixDecimalTokenTransfer`, `useReadSixDecimalTokenDecimals`, `useReadSixDecimalTokenBalanceOf`. + +- [ ] **Step 1: Write the failing test** + +`contracts/test/bugs/SixDecimalToken.d.sol`: + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.13; + +// INVERTED TEST: this passes while the demo bug is present. Do not "fix" it. +// Scenario 3 depends on this token reporting 6 decimals, not 18. + +import {Test} from "forge-std/Test.sol"; +import {IERC20Errors} from "@openzeppelin/contracts/interfaces/draft-IERC6093.sol"; + +import {SixDecimalToken} from "contracts/bugs/SixDecimalToken.sol"; + +contract SixDecimalTokenTest is Test { + address alice = address(0xA11CE); + + SixDecimalToken token; + + function setUp() public { + token = new SixDecimalToken(); + token.mint(alice, 100e6); + } + + function test_decimals_isSix() public view { + assertEq(token.decimals(), 6); + } + + function test_transfer_revertsWhenAmountUsesEighteenDecimals() public { + vm.prank(alice); + vm.expectRevert( + abi.encodeWithSelector( + IERC20Errors.ERC20InsufficientBalance.selector, alice, 100e6, 100e18 + ) + ); + token.transfer(address(0xB0B), 100e18); + } +} +``` + +- [ ] **Step 2: Run test to verify it fails** + +```bash +forge test --match-path 'contracts/test/bugs/SixDecimalToken.d.sol' +``` + +Expected: FAIL — compilation error, `contracts/bugs/SixDecimalToken.sol` not found. + +- [ ] **Step 3: Write the contract** + +`contracts/bugs/SixDecimalToken.sol`: + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.13; + +import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol"; + +contract SixDecimalToken is ERC20("TestUSD", "TUSD") { + function decimals() public pure override returns (uint8) { + return 6; + } + + function mint(address to, uint256 amount) external { + _mint(to, amount); + } +} +``` + +- [ ] **Step 4: Run test to verify it passes** + +```bash +forge test --match-path 'contracts/test/bugs/SixDecimalToken.d.sol' +``` + +Expected: PASS, 2 tests. + +- [ ] **Step 5: Add to the deploy script** + +In `contracts/scripts/BugsDeploy.s.sol`, add the import: + +```solidity +import {SixDecimalToken} from "contracts/bugs/SixDecimalToken.sol"; +``` + +and inside `run()`, before `vm.stopBroadcast()`: + +```solidity + // Scenario 3: 6 decimals, funded so the balance reads as a round 100. + SixDecimalToken sixDecimalToken = new SixDecimalToken(); + sixDecimalToken.mint(alice, 100e6); + sixDecimalToken.mint(bob, 100e6); + console.log("SixDecimalToken", address(sixDecimalToken)); +``` + +- [ ] **Step 6: Deploy and register the address** + +```bash +./scripts/eth-deploy.sh +``` + +Copy the logged `SixDecimalToken` address into `wagmi.config.ts` `deployments`: + +```ts + SixDecimalToken: { + 31337: "0xPASTE_ADDRESS", + 31338: "0xPASTE_ADDRESS", + }, +``` + +Then: + +```bash +yarn wagmi generate +``` + +Note: `OwnedRegistry`'s address does not shift, because the new deploy is appended after it. + +- [ ] **Step 7: Create the route** + +The bug is `parseEther` — 18 decimals — on a 6-decimal token. The route deliberately shows **no balance**, so the revert is the only evidence. + +`src/routes/bugs/decimals.tsx`: + +```tsx +import { Button } from "@ethui/ui/components/shadcn/button"; +import { Input } from "@ethui/ui/components/shadcn/input"; +import { createFileRoute } from "@tanstack/react-router"; +import { LoaderCircle, Send } from "lucide-react"; +import { useState } from "react"; +import { parseEther } from "viem"; +import { RawError } from "#/components/raw-error"; +import { useWriteSixDecimalTokenTransfer } from "#/wagmi.generated"; + +export const Route = createFileRoute("/bugs/decimals")({ + beforeLoad: () => ({ breadcrumb: "Decimals" }), + component: Decimals, +}); + +const BOB = "0x70997970C51812dc3A010C7d01b50e0d17dc79C8" as const; + +function Decimals() { + const [amount, setAmount] = useState("100"); + const [parseError, setParseError] = useState(null); + const { isPending, error, writeContract } = + useWriteSixDecimalTokenTransfer(); + + const onClick = () => { + setParseError(null); + try { + writeContract({ args: [BOB, parseEther(amount)] }); + } catch (e) { + setParseError(e); + } + }; + + return ( +
+

Should transfer $TUSD to bob. The account holds 100 $TUSD.

+
+ setAmount(e.target.value)} + /> + +
+ +
+ ); +} +``` + +`parseEther` throws synchronously on input it cannot parse (`"abc"`, `"1e2"`), +which would escape `writeContract`'s error state entirely and leave the page +blank. The try/catch routes it into the same `RawError`, so any input still +produces visible raw evidence. + +If `@ethui/ui` does not export `Input` at that path, substitute a plain `` with the same `value`/`onChange` wiring rather than inventing an import. + +- [ ] **Step 8: Add the sidebar entry** + +```tsx + { title: "Decimals", to: "/bugs/decimals" }, +``` + +- [ ] **Step 9: Lint and manually verify** + +```bash +yarn fix:biome && yarn lint +``` + +Expected: PASS. + +Open `/bugs/decimals`, leave the amount at 100, click Transfer. Expected: raw error mentioning `ERC20InsufficientBalance` with balance `100000000` and a needed value of `100000000000000000000`. + +- [ ] **Step 10: Commit** + +```bash +git add contracts/bugs/SixDecimalToken.sol contracts/test/bugs/SixDecimalToken.d.sol \ + contracts/scripts/BugsDeploy.s.sol wagmi.config.ts src/wagmi.generated.ts \ + src/routes/bugs/decimals.tsx src/components/app-sidebar.tsx src/routeTree.gen.ts +git commit -m "feat(bugs): decimals mismatch scenario" +``` + +--- + +### Task 4: Scenario 4 — missing allowance + +**Files:** +- Create: `contracts/bugs/DepositToken.sol`, `contracts/bugs/Vault.sol` +- Create: `contracts/test/bugs/Vault.d.sol` +- Create: `src/routes/bugs/allowance.tsx` +- Modify: `contracts/scripts/BugsDeploy.s.sol`, `wagmi.config.ts`, `src/components/app-sidebar.tsx` + +**Interfaces:** +- Consumes: `BugsDeployScript` from Task 2. +- Produces: `DepositToken` — 18-decimal ERC20 whose on-chain name and symbol are `VaultToken`/`VLT`, with `mint(address,uint256)`. `Vault` — `token() → IERC20`, `deposits(address) → uint256`, `deposit(uint256)`, `event Deposited(address indexed from, uint256 amount)`. Generated hooks `useWriteVaultDeposit`, `useReadVaultDeposits`, `depositTokenAbi`. +- **Do not add a `getHookName` override to `wagmi.config.ts`.** Naming the Solidity contract `DepositToken` is what avoids the `useReadVaultToken` collision with `Vault.token()`; a codegen naming override would silently own hook naming for every contract in the project. + +- [ ] **Step 1: Write the failing test** + +`contracts/test/bugs/Vault.d.sol`: + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.13; + +// INVERTED TEST: this passes while the demo bug is present. Do not "fix" it. +// Scenario 4 depends on deposit reverting when the caller has not approved. + +import {Test} from "forge-std/Test.sol"; +import {IERC20Errors} from "@openzeppelin/contracts/interfaces/draft-IERC6093.sol"; + +import {Vault} from "contracts/bugs/Vault.sol"; +import {DepositToken} from "contracts/bugs/DepositToken.sol"; + +contract VaultTest is Test { + address alice = address(0xA11CE); + + DepositToken token; + Vault vault; + + function setUp() public { + token = new DepositToken(); + vault = new Vault(token); + token.mint(alice, 100e18); + } + + function test_deposit_revertsWithoutApproval() public { + vm.prank(alice); + vm.expectRevert( + abi.encodeWithSelector( + IERC20Errors.ERC20InsufficientAllowance.selector, address(vault), 0, 10e18 + ) + ); + vault.deposit(10e18); + } + + function test_deposit_succeedsAfterApproval() public { + vm.startPrank(alice); + token.approve(address(vault), 10e18); + vault.deposit(10e18); + vm.stopPrank(); + + assertEq(vault.deposits(alice), 10e18); + } +} +``` + +- [ ] **Step 2: Run test to verify it fails** + +```bash +forge test --match-path 'contracts/test/bugs/Vault.d.sol' +``` + +Expected: FAIL — compilation error, `contracts/bugs/Vault.sol` not found. + +- [ ] **Step 3: Write the contracts** + +`contracts/bugs/DepositToken.sol`: + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.13; + +import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol"; + +contract DepositToken is ERC20("VaultToken", "VLT") { + function mint(address to, uint256 amount) external { + _mint(to, amount); + } +} +``` + +`contracts/bugs/Vault.sol`: + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.13; + +import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; + +contract Vault { + IERC20 public immutable token; + + mapping(address => uint256) public deposits; + + event Deposited(address indexed from, uint256 amount); + + constructor(IERC20 token_) { + token = token_; + } + + function deposit(uint256 amount) external { + token.transferFrom(msg.sender, address(this), amount); + deposits[msg.sender] += amount; + emit Deposited(msg.sender, amount); + } +} +``` + +- [ ] **Step 4: Run test to verify it passes** + +```bash +forge test --match-path 'contracts/test/bugs/Vault.d.sol' +``` + +Expected: PASS, 2 tests. + +- [ ] **Step 5: Add to the deploy script** + +Imports: + +```solidity +import {Vault} from "contracts/bugs/Vault.sol"; +import {DepositToken} from "contracts/bugs/DepositToken.sol"; +``` + +Inside `run()`, before `vm.stopBroadcast()`: + +```solidity + // Scenario 4: funded accounts, deliberately zero approvals. + DepositToken depositToken = new DepositToken(); + depositToken.mint(alice, 100e18); + depositToken.mint(bob, 100e18); + Vault vault = new Vault(depositToken); + console.log("DepositToken", address(depositToken)); + console.log("Vault", address(vault)); +``` + +- [ ] **Step 6: Deploy and register the addresses** + +```bash +./scripts/eth-deploy.sh +``` + +Add both to `wagmi.config.ts` `deployments`: + +```ts + DepositToken: { + 31337: "0xPASTE_DEPOSIT_TOKEN_ADDRESS", + 31338: "0xPASTE_DEPOSIT_TOKEN_ADDRESS", + }, + Vault: { + 31337: "0xPASTE_VAULT_ADDRESS", + 31338: "0xPASTE_VAULT_ADDRESS", + }, +``` + +```bash +yarn wagmi generate +``` + +- [ ] **Step 7: Create the route** + +`src/routes/bugs/allowance.tsx`: + +```tsx +import { Button } from "@ethui/ui/components/shadcn/button"; +import { createFileRoute } from "@tanstack/react-router"; +import { LoaderCircle, PiggyBank } from "lucide-react"; +import { formatEther, parseEther } from "viem"; +import { useAccount } from "wagmi"; +import { RawError } from "#/components/raw-error"; +import { useReadVaultDeposits, useWriteVaultDeposit } from "#/wagmi.generated"; + +export const Route = createFileRoute("/bugs/allowance")({ + beforeLoad: () => ({ breadcrumb: "Allowance" }), + component: Allowance, +}); + +function Allowance() { + const { address } = useAccount(); + const { data: deposited } = useReadVaultDeposits({ + args: address && [address], + }); + const { isPending, error, writeContract } = useWriteVaultDeposit(); + + return ( +
+

+ Should deposit 10 $VLT into the vault. Deposited so far:{" "} + {deposited === undefined ? "?" : formatEther(deposited)} +

+
+ +
+ +
+ ); +} +``` + +- [ ] **Step 8: Add the sidebar entry** + +```tsx + { title: "Allowance", to: "/bugs/allowance" }, +``` + +- [ ] **Step 9: Lint and manually verify** + +```bash +yarn fix:biome && yarn lint +``` + +Expected: PASS. + +Open `/bugs/allowance`, click Deposit. Expected: raw error mentioning `ERC20InsufficientAllowance` with an allowance of `0`. + +- [ ] **Step 10: Commit** + +```bash +git add contracts/bugs/Vault.sol contracts/bugs/DepositToken.sol \ + contracts/test/bugs/Vault.d.sol contracts/scripts/BugsDeploy.s.sol \ + wagmi.config.ts src/wagmi.generated.ts src/routes/bugs/allowance.tsx \ + src/components/app-sidebar.tsx src/routeTree.gen.ts +git commit -m "feat(bugs): missing allowance scenario" +``` + +--- + +### Task 5: Scenario 5 — silent failure + +**Files:** +- Create: `contracts/bugs/Forwarder.sol` +- Create: `contracts/test/bugs/Forwarder.d.sol` +- Create: `src/routes/bugs/silent-failure.tsx` +- Modify: `contracts/scripts/BugsDeploy.s.sol`, `wagmi.config.ts`, `src/components/app-sidebar.tsx` + +**Interfaces:** +- Consumes: `OwnedRegistry` from Task 2 — used as the forwarding target, and its `setValue` reverts because bob owns it. `BugsDeployScript` from Task 2. +- Produces: `Forwarder` — `forward(address target, bytes calldata data) → bool`, `event Forwarded(address indexed target, bytes data)`. Generated hook `useWriteForwarderForward`. + +`Forwarder` returns the inner call's success flag but never reverts. That is what makes the scenario honest: the source appears to report failure, and only the receipt plus a state read prove the caller never sees it. + +- [ ] **Step 1: Write the failing test** + +`contracts/test/bugs/Forwarder.d.sol`: + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.13; + +// INVERTED TEST: this passes while the demo bug is present. Do not "fix" it. +// Scenario 5 depends on forward() swallowing a failed inner call: the outer +// transaction succeeds and emits Forwarded even though nothing changed. + +import {Test} from "forge-std/Test.sol"; + +import {Forwarder} from "contracts/bugs/Forwarder.sol"; +import {OwnedRegistry} from "contracts/bugs/OwnedRegistry.sol"; + +contract ForwarderTest is Test { + address alice = address(0xA11CE); + address bob = address(0xB0B); + + Forwarder forwarder; + OwnedRegistry registry; + + function setUp() public { + forwarder = new Forwarder(); + registry = new OwnedRegistry(bob); + } + + function test_forward_swallowsFailure() public { + bytes memory data = abi.encodeCall(OwnedRegistry.setValue, (42)); + + vm.prank(alice); + bool success = forwarder.forward(address(registry), data); + + assertFalse(success); + assertEq(registry.value(), 0); + } + + function test_forward_emitsEvenWhenInnerCallFails() public { + bytes memory data = abi.encodeCall(OwnedRegistry.setValue, (42)); + + vm.expectEmit(true, false, false, true); + emit Forwarder.Forwarded(address(registry), data); + + vm.prank(alice); + forwarder.forward(address(registry), data); + } +} +``` + +- [ ] **Step 2: Run test to verify it fails** + +```bash +forge test --match-path 'contracts/test/bugs/Forwarder.d.sol' +``` + +Expected: FAIL — compilation error, `contracts/bugs/Forwarder.sol` not found. + +- [ ] **Step 3: Write the contract** + +`contracts/bugs/Forwarder.sol`: + +```solidity +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.13; + +contract Forwarder { + event Forwarded(address indexed target, bytes data); + + function forward(address target, bytes calldata data) + external + returns (bool) + { + (bool success,) = target.call(data); + emit Forwarded(target, data); + return success; + } +} +``` + +- [ ] **Step 4: Run test to verify it passes** + +```bash +forge test --match-path 'contracts/test/bugs/Forwarder.d.sol' +``` + +Expected: PASS, 2 tests. + +- [ ] **Step 5: Run the whole bug suite** + +```bash +forge test --match-path 'contracts/test/bugs/*' +``` + +Expected: PASS, 8 tests across 4 files. + +- [ ] **Step 6: Add to the deploy script** + +Import: + +```solidity +import {Forwarder} from "contracts/bugs/Forwarder.sol"; +``` + +Inside `run()`, before `vm.stopBroadcast()`: + +```solidity + // Scenario 5: forwards into the bob-owned registry, so the inner call + // always reverts and is swallowed. + Forwarder forwarder = new Forwarder(); + console.log("Forwarder", address(forwarder)); +``` + +- [ ] **Step 7: Deploy and register the address** + +```bash +./scripts/eth-deploy.sh +``` + +```ts + Forwarder: { + 31337: "0xPASTE_ADDRESS", + 31338: "0xPASTE_ADDRESS", + }, +``` + +```bash +yarn wagmi generate +``` + +- [ ] **Step 8: Create the route** + +The route needs the registry's address to forward into. `wagmi generate` emits a per-chain address record for each registered deployment; read the registry address from the generated `ownedRegistryAddress` export and index it by the connected chain id. + +`src/routes/bugs/silent-failure.tsx`: + +```tsx +import { Button } from "@ethui/ui/components/shadcn/button"; +import { createFileRoute } from "@tanstack/react-router"; +import { LoaderCircle, Send } from "lucide-react"; +import { encodeFunctionData } from "viem"; +import { useChainId } from "wagmi"; +import { RawError } from "#/components/raw-error"; +import { + ownedRegistryAbi, + ownedRegistryAddress, + useReadOwnedRegistryValue, + useWriteForwarderForward, +} from "#/wagmi.generated"; + +export const Route = createFileRoute("/bugs/silent-failure")({ + beforeLoad: () => ({ breadcrumb: "Silent failure" }), + component: SilentFailure, +}); + +function SilentFailure() { + const chainId = useChainId(); + const { data: value, refetch } = useReadOwnedRegistryValue(); + const { data: hash, isPending, error, writeContract } = + useWriteForwarderForward(); + + const registry = + ownedRegistryAddress[chainId as keyof typeof ownedRegistryAddress]; + + const onClick = () => { + if (!registry) return; + writeContract( + { + args: [ + registry, + encodeFunctionData({ + abi: ownedRegistryAbi, + functionName: "setValue", + args: [42n], + }), + ], + }, + { onSuccess: () => void refetch() }, + ); + }; + + return ( +
+

+ Should set the registry value to 42 by forwarding the call. Current + on-chain value: {value === undefined ? "?" : String(value)} +

+
+ +
+ {hash &&

Transaction sent: {hash}

} + +
+ ); +} +``` + +If the generated export is named differently — check `src/wagmi.generated.ts` for the actual `ownedRegistryAddress` symbol — use the real name rather than adding a second hardcoded address. + +- [ ] **Step 9: Add the sidebar entry** + +```tsx + { title: "Silent failure", to: "/bugs/silent-failure" }, +``` + +- [ ] **Step 10: Lint and manually verify** + +```bash +yarn fix:biome && yarn lint +``` + +Expected: PASS. + +Open `/bugs/silent-failure`, click the button, approve in ethui. Expected: a transaction hash appears, no error is shown, and the on-chain value stays `0`. That contradiction is the whole scenario — confirm it reproduces before committing. + +- [ ] **Step 11: Commit** + +```bash +git add contracts/bugs/Forwarder.sol contracts/test/bugs/Forwarder.d.sol \ + contracts/scripts/BugsDeploy.s.sol wagmi.config.ts src/wagmi.generated.ts \ + src/routes/bugs/silent-failure.tsx src/components/app-sidebar.tsx \ + src/routeTree.gen.ts +git commit -m "feat(bugs): silent failure scenario" +``` + +--- + +### Task 5b: Re-pin every deployment address from one clean deploy + +Tasks 2–5 each pinned their contract's address from the deploy run that +introduced it. But every `eth-deploy.sh` run against a live anvil deploys +*fresh* instances at new nonces, so the five committed addresses come from five +different runs and no single chain state matches all of them. After an anvil +restart plus one deploy, none of them would be correct. + +A fresh chain plus a fixed deploy sequence is deterministic, so re-pinning +everything from one clean run produces a state that reproduces on every later +reset. + +**Files:** +- Modify: `wagmi.config.ts`, `src/wagmi.generated.ts` + +- [ ] **Step 1: Ask the human partner to restart anvil** + +This step needs a *fresh* chain — nonces must start from zero. Do not start or +restart anvil yourself. Ask the human partner to restart it (mprocs manages +it), and wait for confirmation before continuing. + +- [ ] **Step 2: Deploy once against the fresh chain** + +```bash +./scripts/eth-deploy.sh +``` + +Record every logged address: `OwnedRegistry`, `SixDecimalToken`, `DepositToken`, +`Vault`, `Forwarder`. + +- [ ] **Step 3: Re-pin all five in wagmi.config.ts** + +Replace each of the five `deployments` entries with the address from Step 2, +for both 31337 and 31338. Every one of them will differ from what is currently +committed — that is expected. Then: + +```bash +yarn wagmi generate +``` + +- [ ] **Step 4: Confirm the stale address is still code-free** + +The scenario 1 constant in `src/routes/bugs/stale-address.tsx` must still hold +no code on the fresh chain, and the new deploys must not have landed on it: + +```bash +cast code 0x59b670e9fA9D0A427751Af201D676719a970857b --rpc-url http://localhost:8545 +``` + +Expected: `0x`. If it now holds bytecode, pick another address that returns +`0x` and update the constant. + +- [ ] **Step 5: Verify the frontend gate** + +```bash +yarn fix:biome && yarn lint +``` + +- [ ] **Step 6: Commit** + +```bash +git add wagmi.config.ts src/wagmi.generated.ts src/routes/bugs/stale-address.tsx +git commit -m "fix(bugs): re-pin deployment addresses from a single clean deploy" +``` + +--- + +### Task 6: Verify each scenario is solvable over MCP + +This task proves the demo actually works before it is documented. Nothing here is hypothetical — every MCP call listed must be run against the running ethui and its real output recorded for Task 7. + +**Files:** +- Create: none +- Modify: none (fixes to earlier tasks land as follow-up commits if something fails) + +**Interfaces:** +- Consumes: everything from Tasks 1–5. +- Produces: recorded MCP call/response pairs for the runbook. + +- [ ] **Step 1: Confirm the MCP connection** + +Run the `get_chain` and `get_accounts` tools. Expected: chain `31337`, and alice (`0xf39F...2266`) as the active account. If the active account is not alice, switch it in ethui — scenarios 2, 3 and 5 assume alice. + +- [ ] **Step 2: Verify scenario 1** + +Run `rpc_call` with method `eth_getCode` and params `["0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9", "latest"]` (substitute the address actually used in Task 1). + +Expected: `"0x"`. Record the exact response. + +- [ ] **Step 3: Verify scenario 2** + +Run `call` against the registry address with the calldata for `owner()` (`0x8da5cb5b`). Expected: bob's address, left-padded to 32 bytes. + +Run `get_accounts`. Expected: alice first. + +Run `resolve_alias` on both addresses and record what ethui returns for each. + +- [ ] **Step 4: Verify scenario 3** + +Run `call` against `SixDecimalToken` with `decimals()` calldata (`0x313ce567`). Expected: `6`. + +Run `call` with `balanceOf(alice)` calldata. Expected: `100000000`. + +- [ ] **Step 5: Verify scenario 4** + +Run `call` against `DepositToken` with `allowance(alice, vault)` calldata. Expected: `0`. + +Then run `send_transaction` to `DepositToken` with `approve(vault, 10e18)` calldata. Expected: ethui opens an approval dialog. Approve it, then re-run the allowance read and confirm it is non-zero, and confirm the Deposit button now works. + +**This is the demo's climax — if the approval dialog does not appear, stop and diagnose before continuing.** + +- [ ] **Step 6: Verify scenario 5** + +Trigger the silent-failure route, then run `get_transaction` on the resulting hash, and `rpc_call` with `eth_getTransactionReceipt`. + +Expected: `status` is `0x1` and the logs contain the `Forwarded` event. Then `call` the registry's `value()` and confirm it is still `0`. + +- [ ] **Step 7: Record failures as fixes** + +If any scenario did not behave as described, fix it now and commit the fix against the task that introduced it. Do not paper over a broken scenario in the runbook. + +- [ ] **Step 8: Commit any fixes** + +```bash +git add -A +git commit -m "fix(bugs): corrections found during MCP verification" +``` + +Skip this step if nothing needed fixing. + +--- + +### Task 7: Runbook + +**Files:** +- Create: `docs/mcp-debug-runbook.md` + +**Interfaces:** +- Consumes: the verified call/response pairs recorded in Task 6. + +- [ ] **Step 1: Write the runbook** + +`docs/mcp-debug-runbook.md`. Use the real outputs captured in Task 6, not invented ones. Structure: + +- **Setup** — anvil running via mprocs, ethui running, MCP server registered (`claude mcp add ethui -- node /absolute/path/to/packages/mcp/dist/index.js`), active account alice, chain 31337. +- **Reset between runs** — restart anvil, then `./scripts/eth-deploy.sh`. Note that restarting anvil resets nonces, so addresses are stable across resets as long as the deploy scripts are unchanged. +- **Address hazard** — adding or removing a deploy in `DevDeploy.s.sol` shifts every bug contract address and requires re-pasting into `wagmi.config.ts`. +- **Per scenario**, in demo order (1 → 2 → 3 → 4, with 5 in reserve): route URL, what the presenter does, the raw error the audience sees, the MCP calls the agent is expected to make with their real responses, the root cause, and the fix. +- **Success criteria** — for each scenario, what counts as the agent having actually solved it rather than guessed. An agent that names the root cause without making the discriminating MCP call has not solved it. +- **Inverted tests** — `forge test --match-path 'contracts/test/bugs/*'` passes while the bugs are present. A failure means a scenario has been accidentally repaired. + +- [ ] **Step 2: Verify the runbook against a cold run** + +Restart anvil, run `./scripts/eth-deploy.sh`, then follow the runbook top to bottom as written. Every command must work as printed. + +- [ ] **Step 3: Commit** + +```bash +git add docs/mcp-debug-runbook.md +git commit -m "docs: MCP debug demo runbook" +``` + +--- + +## Self-Review + +**Spec coverage:** All five scenarios map to Tasks 1–5. Structure section covers `contracts/bugs/` (Tasks 2–5), `BugsDeploy.s.sol` (Task 2, extended by 3–5), `src/routes/bugs/` (Tasks 1–5), `wagmi.config.ts` regeneration (Tasks 2–5), and the runbook (Task 7). Error handling — raw errors — is Task 1's `RawError`, used by every route. Reset is Task 7. Testing is the inverted forge tests in Tasks 2–5, with the spec's note that scenario 1 gets no forge test honored in Task 1. + +**Deviations from the spec, both deliberate:** +1. `DepositToken.sol` added as a fifth contract, so scenario 4 does not share a token with scenario 3. Its Solidity identifier differs from its on-chain ERC20 name to avoid a wagmi hook-name collision with `Vault.token()`. +2. `Forwarder.forward` returns the inner success flag rather than discarding it. This strengthens the governing constraint — the source looks like it reports failure — and avoids an unused-variable warning that would have read as a smell. + +**Type consistency:** `RawError` takes `{ error: unknown }` in Task 1 and is used identically in Tasks 2–5. `OwnedRegistry.setValue(uint256)` / `value()` are defined in Task 2 and consumed unchanged in Task 5. `Vault.deposits(address)` is defined in Task 4 and used by the same task's route. + +**Known soft spot:** generated wagmi symbol names (`useWriteOwnedRegistrySetValue`, `ownedRegistryAddress`, and siblings) are predicted from the `@wagmi/cli` react plugin's naming convention, not observed. Task 3's Step 7 and Task 5's Step 8 instruct the implementer to check `src/wagmi.generated.ts` for the real name rather than hardcode around a mismatch. diff --git a/docs/superpowers/specs/2026-07-25-mcp-debug-scenarios-design.md b/docs/superpowers/specs/2026-07-25-mcp-debug-scenarios-design.md new file mode 100644 index 0000000..0703b26 --- /dev/null +++ b/docs/superpowers/specs/2026-07-25-mcp-debug-scenarios-design.md @@ -0,0 +1,206 @@ +# MCP Debug Scenarios — Design + +Date: 2026-07-25 +Branch: `demo/mcp-debug-scenarios` + +## Purpose + +Give the ethui demo app a set of deliberately planted, realistic smart-contract +bugs that showcase an agent connecting to ethui over MCP and using live chain +state to find the root cause. + +The demo audience is developers who already have a debugger and a terminal. The +claim being demonstrated is not "an agent can read code" — it is "an agent +wired to your running wallet can see the state your code can't tell you about." + +## Governing constraint + +**No scenario may be diagnosable from source alone.** + +Where the bug lives in source (scenarios 3 and 5), the source must look +idiomatic, and a plausible competing explanation must exist that only on-chain +state can rule out. If a reviewer reading the diff can name the bug with +confidence, the scenario has failed its purpose and must be reworked. + +## Available MCP surface + +From `ethui/app/packages/mcp/src/tools.ts`: + +- Reads: `get_accounts`, `get_chain`, `get_balance`, `get_transaction`, + `call`, `get_contract_abi`, `resolve_alias` +- Writes (approval-gated): `send_transaction`, `sign_message`, + `sign_typed_data` +- State-changing, no dialog: `switch_network` +- Generic: `list_rpc_methods`, `rpc_call` — reaches `eth_getStorageAt`, + `eth_getCode`, `eth_getLogs`, `eth_getTransactionReceipt`, + `eth_estimateGas`, and the rest of the registered catalog + +**There are no trace tools.** `debug_traceTransaction` and the `anvil_*` family +are not registered. Every scenario must therefore be diagnosable from state +reads, logs, and receipts — never from stepping a call tree. This rules out +reentrancy and most control-flow bugs as demo material. + +## Scenarios + +Each scenario mixes the bug's location across categories, so the agent cannot +know from the symptom whether the contract, the frontend, or the wallet +environment is at fault. + +### 1. Stale address (environment) + +**Setup.** The route hardcodes a contract address left over from a previous +anvil run. + +**Symptom.** Every read returns empty. No revert reason. + +**Agent path.** `eth_getCode(address)` returns `0x` — nothing is deployed +there. One call. + +**Why source is not enough.** An address literal cannot be judged wrong by +inspection. + +**Fix.** Point the route at the current deployment. + +**Role.** 30-second warm-up. Establishes that the agent can reach the chain at +all. + +### 2. Wrong active account (wallet) + +**Setup.** `OwnedRegistry.setValue()` is `onlyOwner`. `BugsDeploy.s.sol` +transfers ownership to **bob**. ethui's active account is **alice**. Both the +contract and the route are correct. + +**Symptom.** The write reverts, or gas estimation fails, with no useful +message. + +**Agent path.** `get_accounts` returns alice; `call owner()` returns bob; +`resolve_alias` on both yields human names that visibly differ. + +**Why source is not enough.** Ownership is assigned at deploy time and appears +nowhere in the contract or route source. + +**Fix.** Switch the active account in ethui. + +**Role.** The uniquely-ethui scenario. Wallet identity is the bug, and MCP is +what can see the wallet. + +### 3. Decimals mismatch (frontend) + +**Setup.** `SixDecimalToken` reports `decimals() = 6`. The route calls +`parseEther(amount)` — carried over from the repo's existing 18-decimal +`Token.sol`. + +**Symptom.** Transferring "100" reverts for insufficient balance despite a +visible balance of 100. + +**Agent path.** `call decimals()` returns 6; `call balanceOf(alice)` returns +`100000000`; both contradict the 1e18 value the route encodes. + +**Why source is not enough.** `parseEther` reads as ordinary, correct code. +Only the on-chain `decimals()` convicts it. + +**Fix.** `parseUnits(amount, 6)`, or read decimals at runtime. + +### 4. Missing allowance (wallet / flow) + +**Setup.** `Vault.deposit()` pulls tokens with `transferFrom`. The route never +calls `approve`. + +**Symptom.** Deposit reverts. + +**Agent path.** `call allowance(alice, vault)` returns 0. + +**Fix.** The agent submits `approve` via `send_transaction`, which opens +ethui's approval dialog on screen, then retries the deposit. + +**Role.** The climax. It is the only scenario ending in a write, and the +approval dialog is the human-in-the-loop story made visible. + +### 5. Silent failure (contract) — reserve + +**Setup.** `Forwarder.forward(target, data)` performs `target.call(data)`, +ignores the returned success flag, and emits `Forwarded` unconditionally. + +**Symptom.** The transaction succeeds, the UI goes green, and nothing +happened. + +**Agent path.** `eth_getTransactionReceipt` shows status `0x1` and a +`Forwarded` log; reading the target's getter shows unchanged state. The inner +call reverted and was swallowed. + +**Why source is not enough.** Reading `Forwarder.sol` raises suspicion but +cannot distinguish "the inner call reverted" from "the target is a no-op". The +receipt plus the state read decide it. + +**Fix.** Check the success flag and revert. + +**Role.** Held in reserve. It is the deepest scenario and the slowest to +narrate; run it only if the audience wants one. + +### Demo order + +1 → 2 → 3 → 4, with 5 in reserve. + +## Structure + +**`contracts/bugs/`** — `SixDecimalToken.sol`, `OwnedRegistry.sol`, +`Vault.sol`, `Forwarder.sol`. Each is small, and each is individually correct +except `Forwarder`, whose unchecked call is the bug in scenario 5. + +**`contracts/scripts/BugsDeploy.s.sol`** — deploys the above and seeds the +broken state: ownership transferred to bob, tokens minted to the test +accounts, no approvals granted. Kept separate from `DevDeploy.s.sol` so the +existing demo is unaffected. + +**`src/routes/bugs/`** — `index.tsx` listing the scenarios, plus one route per +scenario, following the existing wagmi generated-hook style. Each route states +its intended behavior, exposes a button, and prints the raw error verbatim. +Routes give no hint about the cause; the printed error is the evidence the +presenter hands to the agent. + +**`wagmi.config.ts`** — regenerated so `src/wagmi.generated.ts` picks up the +new ABIs. + +**`docs/mcp-debug-runbook.md`** — per scenario: symptom, expected agent path, +expected MCP calls, fix, and reset. Serves as both the presenter's script and +the success criteria for judging whether the agent actually solved it. + +## Data flow + +The agent's evidence chain for every scenario is the same shape: + +1. The presenter triggers the route and pastes the raw error. +2. The agent reads the relevant source and forms competing hypotheses. +3. The agent queries ethui over MCP for the state that discriminates between + them. +4. The agent names the root cause and proposes the fix. + +Scenario 4 extends this with a fifth step: the agent submits a transaction, +ethui prompts, a human approves. + +## Error handling + +Routes must surface raw revert data rather than catching and prettifying it. A +swallowed error destroys the demo's starting evidence. Where wagmi wraps the +error, the route renders the full wrapped message including the cause chain. + +## Reset + +Restart anvil, then `yarn eth-deploy`. mprocs already runs anvil and the +contract watcher, so this is one process restart plus one command. The runbook +documents it as the between-demos step. + +## Testing + +`contracts/test/bugs/` holds forge tests asserting that each bug still +reproduces: `testSetValueRevertsForNonOwner`, +`testDepositRevertsWithoutApproval`, `testForwardSwallowsFailure`, and a +decimals test asserting `decimals() == 6`. + +These tests are inverted from normal ones — they pass when the bug is present. +Their purpose is to stop a future refactor from silently repairing a scenario +and leaving the demo with nothing to find. Each test file carries a comment +saying so, so a reader does not "fix" the test. + +Scenario 1 has no forge test; a stale frontend address is not observable from +Solidity. diff --git a/scripts/eth-deploy.sh b/scripts/eth-deploy.sh index f0a338b..f07cc69 100755 --- a/scripts/eth-deploy.sh +++ b/scripts/eth-deploy.sh @@ -14,6 +14,13 @@ out=$(forge script DevDeployScript \ --sender "$SENDER") result=$? +bugs_out=$(forge script BugsDeployScript \ + --rpc-url http://localhost:8545 \ + --broadcast \ + --mnemonics "$MNEMONIC" \ + --sender "$SENDER") +result=$((result + $?)) + yarn run wagmi generate if [ $result -eq 0 ]; then @@ -21,3 +28,4 @@ if [ $result -eq 0 ]; then fi echo "$out" | grep -A 5 "Logs" +echo "$bugs_out" | grep -A 10 "Logs" diff --git a/soldeer.lock b/soldeer.lock index e5105a8..98739b9 100644 --- a/soldeer.lock +++ b/soldeer.lock @@ -24,4 +24,4 @@ name = "openzeppelin-foundry-upgrades" version = "0.4.0" url = "https://soldeer-revisions.s3.amazonaws.com/openzeppelin-foundry-upgrades/0_4_0_27-01-2025_18:32:41_openzeppelin-foundry-upgrades.zip" checksum = "d38121a53a68c9a3e10032d37c712b28604a673c77b7186332f65c423e53cc45" -integrity = "7453d9ee76f1bbf72424354de766dd2a4af61ec33968b4e0da111e6d734943e2" +integrity = "c529f0b77b06132d99e8445b3bfbc213006b7601754e2c394a1df96c617b41bb" diff --git a/src/components/app-sidebar.tsx b/src/components/app-sidebar.tsx index d747811..3b6a00c 100644 --- a/src/components/app-sidebar.tsx +++ b/src/components/app-sidebar.tsx @@ -73,6 +73,17 @@ const data = { { title: "getContractAbi", to: "/ethui/getContractAbi" }, ], }, + { + title: "Bugs", + url: "#", + items: [ + { title: "Stale address", to: "/bugs/stale-address" }, + { title: "Access control", to: "/bugs/access-control" }, + { title: "Decimals", to: "/bugs/decimals" }, + { title: "Allowance", to: "/bugs/allowance" }, + { title: "Silent failure", to: "/bugs/silent-failure" }, + ], + }, ], }; diff --git a/src/components/raw-error.tsx b/src/components/raw-error.tsx new file mode 100644 index 0000000..6c294ce --- /dev/null +++ b/src/components/raw-error.tsx @@ -0,0 +1,24 @@ +interface Props { + error: unknown; +} + +function chain(error: unknown): string[] { + const lines: string[] = []; + let current = error; + while (current instanceof Error) { + lines.push(`${current.name}: ${current.message}`); + current = current.cause; + } + if (current != null) lines.push(String(current)); + return lines; +} + +export function RawError({ error }: Props) { + if (!error) return null; + + return ( +
+      {chain(error).join("\n\n")}
+    
+ ); +} diff --git a/src/routeTree.gen.ts b/src/routeTree.gen.ts index 13c6f9f..cf6f9eb 100644 --- a/src/routeTree.gen.ts +++ b/src/routeTree.gen.ts @@ -10,6 +10,7 @@ import { Route as rootRouteImport } from './routes/__root' import { Route as IndexRouteImport } from './routes/index' +import { Route as BugsIndexRouteImport } from './routes/bugs/index' import { Route as WalletUpdateEthereumChainRouteImport } from './routes/wallet/updateEthereumChain' import { Route as WalletSwitchChainRouteImport } from './routes/wallet/switchChain' import { Route as WalletAddEthereumChainRouteImport } from './routes/wallet/addEthereumChain' @@ -19,12 +20,22 @@ import { Route as EthuiGetProviderStateRouteImport } from './routes/ethui/getPro import { Route as EthuiGetContractAbiRouteImport } from './routes/ethui/getContractAbi' import { Route as ContractsErc721RouteImport } from './routes/contracts/erc721' import { Route as ContractsErc20RouteImport } from './routes/contracts/erc20' +import { Route as BugsStaleAddressRouteImport } from './routes/bugs/stale-address' +import { Route as BugsSilentFailureRouteImport } from './routes/bugs/silent-failure' +import { Route as BugsDecimalsRouteImport } from './routes/bugs/decimals' +import { Route as BugsAllowanceRouteImport } from './routes/bugs/allowance' +import { Route as BugsAccessControlRouteImport } from './routes/bugs/access-control' const IndexRoute = IndexRouteImport.update({ id: '/', path: '/', getParentRoute: () => rootRouteImport, } as any) +const BugsIndexRoute = BugsIndexRouteImport.update({ + id: '/bugs/', + path: '/bugs/', + getParentRoute: () => rootRouteImport, +} as any) const WalletUpdateEthereumChainRoute = WalletUpdateEthereumChainRouteImport.update({ id: '/wallet/updateEthereumChain', @@ -71,9 +82,39 @@ const ContractsErc20Route = ContractsErc20RouteImport.update({ path: '/contracts/erc20', getParentRoute: () => rootRouteImport, } as any) +const BugsStaleAddressRoute = BugsStaleAddressRouteImport.update({ + id: '/bugs/stale-address', + path: '/bugs/stale-address', + getParentRoute: () => rootRouteImport, +} as any) +const BugsSilentFailureRoute = BugsSilentFailureRouteImport.update({ + id: '/bugs/silent-failure', + path: '/bugs/silent-failure', + getParentRoute: () => rootRouteImport, +} as any) +const BugsDecimalsRoute = BugsDecimalsRouteImport.update({ + id: '/bugs/decimals', + path: '/bugs/decimals', + getParentRoute: () => rootRouteImport, +} as any) +const BugsAllowanceRoute = BugsAllowanceRouteImport.update({ + id: '/bugs/allowance', + path: '/bugs/allowance', + getParentRoute: () => rootRouteImport, +} as any) +const BugsAccessControlRoute = BugsAccessControlRouteImport.update({ + id: '/bugs/access-control', + path: '/bugs/access-control', + getParentRoute: () => rootRouteImport, +} as any) export interface FileRoutesByFullPath { '/': typeof IndexRoute + '/bugs/access-control': typeof BugsAccessControlRoute + '/bugs/allowance': typeof BugsAllowanceRoute + '/bugs/decimals': typeof BugsDecimalsRoute + '/bugs/silent-failure': typeof BugsSilentFailureRoute + '/bugs/stale-address': typeof BugsStaleAddressRoute '/contracts/erc20': typeof ContractsErc20Route '/contracts/erc721': typeof ContractsErc721Route '/ethui/getContractAbi': typeof EthuiGetContractAbiRoute @@ -83,9 +124,15 @@ export interface FileRoutesByFullPath { '/wallet/addEthereumChain': typeof WalletAddEthereumChainRoute '/wallet/switchChain': typeof WalletSwitchChainRoute '/wallet/updateEthereumChain': typeof WalletUpdateEthereumChainRoute + '/bugs': typeof BugsIndexRoute } export interface FileRoutesByTo { '/': typeof IndexRoute + '/bugs/access-control': typeof BugsAccessControlRoute + '/bugs/allowance': typeof BugsAllowanceRoute + '/bugs/decimals': typeof BugsDecimalsRoute + '/bugs/silent-failure': typeof BugsSilentFailureRoute + '/bugs/stale-address': typeof BugsStaleAddressRoute '/contracts/erc20': typeof ContractsErc20Route '/contracts/erc721': typeof ContractsErc721Route '/ethui/getContractAbi': typeof EthuiGetContractAbiRoute @@ -95,10 +142,16 @@ export interface FileRoutesByTo { '/wallet/addEthereumChain': typeof WalletAddEthereumChainRoute '/wallet/switchChain': typeof WalletSwitchChainRoute '/wallet/updateEthereumChain': typeof WalletUpdateEthereumChainRoute + '/bugs': typeof BugsIndexRoute } export interface FileRoutesById { __root__: typeof rootRouteImport '/': typeof IndexRoute + '/bugs/access-control': typeof BugsAccessControlRoute + '/bugs/allowance': typeof BugsAllowanceRoute + '/bugs/decimals': typeof BugsDecimalsRoute + '/bugs/silent-failure': typeof BugsSilentFailureRoute + '/bugs/stale-address': typeof BugsStaleAddressRoute '/contracts/erc20': typeof ContractsErc20Route '/contracts/erc721': typeof ContractsErc721Route '/ethui/getContractAbi': typeof EthuiGetContractAbiRoute @@ -108,11 +161,17 @@ export interface FileRoutesById { '/wallet/addEthereumChain': typeof WalletAddEthereumChainRoute '/wallet/switchChain': typeof WalletSwitchChainRoute '/wallet/updateEthereumChain': typeof WalletUpdateEthereumChainRoute + '/bugs/': typeof BugsIndexRoute } export interface FileRouteTypes { fileRoutesByFullPath: FileRoutesByFullPath fullPaths: | '/' + | '/bugs/access-control' + | '/bugs/allowance' + | '/bugs/decimals' + | '/bugs/silent-failure' + | '/bugs/stale-address' | '/contracts/erc20' | '/contracts/erc721' | '/ethui/getContractAbi' @@ -122,9 +181,15 @@ export interface FileRouteTypes { | '/wallet/addEthereumChain' | '/wallet/switchChain' | '/wallet/updateEthereumChain' + | '/bugs' fileRoutesByTo: FileRoutesByTo to: | '/' + | '/bugs/access-control' + | '/bugs/allowance' + | '/bugs/decimals' + | '/bugs/silent-failure' + | '/bugs/stale-address' | '/contracts/erc20' | '/contracts/erc721' | '/ethui/getContractAbi' @@ -134,9 +199,15 @@ export interface FileRouteTypes { | '/wallet/addEthereumChain' | '/wallet/switchChain' | '/wallet/updateEthereumChain' + | '/bugs' id: | '__root__' | '/' + | '/bugs/access-control' + | '/bugs/allowance' + | '/bugs/decimals' + | '/bugs/silent-failure' + | '/bugs/stale-address' | '/contracts/erc20' | '/contracts/erc721' | '/ethui/getContractAbi' @@ -146,10 +217,16 @@ export interface FileRouteTypes { | '/wallet/addEthereumChain' | '/wallet/switchChain' | '/wallet/updateEthereumChain' + | '/bugs/' fileRoutesById: FileRoutesById } export interface RootRouteChildren { IndexRoute: typeof IndexRoute + BugsAccessControlRoute: typeof BugsAccessControlRoute + BugsAllowanceRoute: typeof BugsAllowanceRoute + BugsDecimalsRoute: typeof BugsDecimalsRoute + BugsSilentFailureRoute: typeof BugsSilentFailureRoute + BugsStaleAddressRoute: typeof BugsStaleAddressRoute ContractsErc20Route: typeof ContractsErc20Route ContractsErc721Route: typeof ContractsErc721Route EthuiGetContractAbiRoute: typeof EthuiGetContractAbiRoute @@ -159,6 +236,7 @@ export interface RootRouteChildren { WalletAddEthereumChainRoute: typeof WalletAddEthereumChainRoute WalletSwitchChainRoute: typeof WalletSwitchChainRoute WalletUpdateEthereumChainRoute: typeof WalletUpdateEthereumChainRoute + BugsIndexRoute: typeof BugsIndexRoute } declare module '@tanstack/react-router' { @@ -170,6 +248,13 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof IndexRouteImport parentRoute: typeof rootRouteImport } + '/bugs/': { + id: '/bugs/' + path: '/bugs' + fullPath: '/bugs' + preLoaderRoute: typeof BugsIndexRouteImport + parentRoute: typeof rootRouteImport + } '/wallet/updateEthereumChain': { id: '/wallet/updateEthereumChain' path: '/wallet/updateEthereumChain' @@ -233,11 +318,51 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof ContractsErc20RouteImport parentRoute: typeof rootRouteImport } + '/bugs/stale-address': { + id: '/bugs/stale-address' + path: '/bugs/stale-address' + fullPath: '/bugs/stale-address' + preLoaderRoute: typeof BugsStaleAddressRouteImport + parentRoute: typeof rootRouteImport + } + '/bugs/silent-failure': { + id: '/bugs/silent-failure' + path: '/bugs/silent-failure' + fullPath: '/bugs/silent-failure' + preLoaderRoute: typeof BugsSilentFailureRouteImport + parentRoute: typeof rootRouteImport + } + '/bugs/decimals': { + id: '/bugs/decimals' + path: '/bugs/decimals' + fullPath: '/bugs/decimals' + preLoaderRoute: typeof BugsDecimalsRouteImport + parentRoute: typeof rootRouteImport + } + '/bugs/allowance': { + id: '/bugs/allowance' + path: '/bugs/allowance' + fullPath: '/bugs/allowance' + preLoaderRoute: typeof BugsAllowanceRouteImport + parentRoute: typeof rootRouteImport + } + '/bugs/access-control': { + id: '/bugs/access-control' + path: '/bugs/access-control' + fullPath: '/bugs/access-control' + preLoaderRoute: typeof BugsAccessControlRouteImport + parentRoute: typeof rootRouteImport + } } } const rootRouteChildren: RootRouteChildren = { IndexRoute: IndexRoute, + BugsAccessControlRoute: BugsAccessControlRoute, + BugsAllowanceRoute: BugsAllowanceRoute, + BugsDecimalsRoute: BugsDecimalsRoute, + BugsSilentFailureRoute: BugsSilentFailureRoute, + BugsStaleAddressRoute: BugsStaleAddressRoute, ContractsErc20Route: ContractsErc20Route, ContractsErc721Route: ContractsErc721Route, EthuiGetContractAbiRoute: EthuiGetContractAbiRoute, @@ -247,6 +372,7 @@ const rootRouteChildren: RootRouteChildren = { WalletAddEthereumChainRoute: WalletAddEthereumChainRoute, WalletSwitchChainRoute: WalletSwitchChainRoute, WalletUpdateEthereumChainRoute: WalletUpdateEthereumChainRoute, + BugsIndexRoute: BugsIndexRoute, } export const routeTree = rootRouteImport ._addFileChildren(rootRouteChildren) diff --git a/src/routes/bugs/access-control.tsx b/src/routes/bugs/access-control.tsx new file mode 100644 index 0000000..49c077f --- /dev/null +++ b/src/routes/bugs/access-control.tsx @@ -0,0 +1,37 @@ +import { Button } from "@ethui/ui/components/shadcn/button"; +import { createFileRoute } from "@tanstack/react-router"; +import { LoaderCircle, Play } from "lucide-react"; +import { RawError } from "#/components/raw-error"; +import { + useReadOwnedRegistryValue, + useWriteOwnedRegistrySetValue, +} from "#/wagmi.generated"; + +export const Route = createFileRoute("/bugs/access-control")({ + beforeLoad: () => ({ breadcrumb: "Access control" }), + component: AccessControl, +}); + +function AccessControl() { + const { data: value } = useReadOwnedRegistryValue(); + const { isPending, error, writeContract } = useWriteOwnedRegistrySetValue(); + + return ( +
+

+ Should set the registry value to 42. Current on-chain value:{" "} + {value === undefined ? "?" : String(value)} +

+
+ +
+ +
+ ); +} diff --git a/src/routes/bugs/allowance.tsx b/src/routes/bugs/allowance.tsx new file mode 100644 index 0000000..6e28c6d --- /dev/null +++ b/src/routes/bugs/allowance.tsx @@ -0,0 +1,43 @@ +import { Button } from "@ethui/ui/components/shadcn/button"; +import { createFileRoute } from "@tanstack/react-router"; +import { LoaderCircle, PiggyBank } from "lucide-react"; +import { formatEther, parseEther } from "viem"; +import { useAccount } from "wagmi"; +import { RawError } from "#/components/raw-error"; +import { useReadVaultDeposits, useWriteVaultDeposit } from "#/wagmi.generated"; + +export const Route = createFileRoute("/bugs/allowance")({ + beforeLoad: () => ({ breadcrumb: "Allowance" }), + component: Allowance, +}); + +function Allowance() { + const { address } = useAccount(); + const { data: deposited } = useReadVaultDeposits({ + args: address && [address], + }); + const { isPending, error, writeContract } = useWriteVaultDeposit(); + + return ( +
+

+ Should deposit 10 $VLT into the vault. Deposited so far:{" "} + {deposited === undefined ? "?" : formatEther(deposited)} +

+
+ +
+ +
+ ); +} diff --git a/src/routes/bugs/decimals.tsx b/src/routes/bugs/decimals.tsx new file mode 100644 index 0000000..d96f3a7 --- /dev/null +++ b/src/routes/bugs/decimals.tsx @@ -0,0 +1,48 @@ +import { Button } from "@ethui/ui/components/shadcn/button"; +import { Input } from "@ethui/ui/components/shadcn/input"; +import { createFileRoute } from "@tanstack/react-router"; +import { LoaderCircle, Send } from "lucide-react"; +import { useState } from "react"; +import { parseEther } from "viem"; +import { RawError } from "#/components/raw-error"; +import { useWriteSixDecimalTokenTransfer } from "#/wagmi.generated"; + +export const Route = createFileRoute("/bugs/decimals")({ + beforeLoad: () => ({ breadcrumb: "Decimals" }), + component: Decimals, +}); + +const BOB = "0x70997970C51812dc3A010C7d01b50e0d17dc79C8" as const; + +function Decimals() { + const [amount, setAmount] = useState("100"); + const [parseError, setParseError] = useState(null); + const { isPending, error, writeContract } = useWriteSixDecimalTokenTransfer(); + + const onClick = () => { + setParseError(null); + try { + writeContract({ args: [BOB, parseEther(amount)] }); + } catch (e) { + setParseError(e); + } + }; + + return ( +
+

Should transfer $TUSD to bob. The account holds 100 $TUSD.

+
+ setAmount(e.target.value)} + /> + +
+ +
+ ); +} diff --git a/src/routes/bugs/index.tsx b/src/routes/bugs/index.tsx new file mode 100644 index 0000000..e2ab9b7 --- /dev/null +++ b/src/routes/bugs/index.tsx @@ -0,0 +1,34 @@ +import { createFileRoute, Link } from "@tanstack/react-router"; + +export const Route = createFileRoute("/bugs/")({ + beforeLoad: () => ({ breadcrumb: "Bugs" }), + component: Bugs, +}); + +const scenarios = [ + { title: "Stale address", to: "/bugs/stale-address" }, + { title: "Access control", to: "/bugs/access-control" }, + { title: "Decimals", to: "/bugs/decimals" }, + { title: "Allowance", to: "/bugs/allowance" }, + { title: "Silent failure", to: "/bugs/silent-failure" }, +]; + +function Bugs() { + return ( +
+

+ Each page below is broken. The page tells you what it is supposed to do + and shows the raw error. It does not tell you why. +

+
    + {scenarios.map(({ title, to }) => ( +
  • + + {title} + +
  • + ))} +
+
+ ); +} diff --git a/src/routes/bugs/silent-failure.tsx b/src/routes/bugs/silent-failure.tsx new file mode 100644 index 0000000..aa3ea88 --- /dev/null +++ b/src/routes/bugs/silent-failure.tsx @@ -0,0 +1,69 @@ +import { Button } from "@ethui/ui/components/shadcn/button"; +import { createFileRoute } from "@tanstack/react-router"; +import { LoaderCircle, Send } from "lucide-react"; +import { encodeFunctionData } from "viem"; +import { useChainId } from "wagmi"; +import { RawError } from "#/components/raw-error"; +import { + ownedRegistryAbi, + ownedRegistryAddress, + useReadOwnedRegistryValue, + useWriteForwarderForward, +} from "#/wagmi.generated"; + +export const Route = createFileRoute("/bugs/silent-failure")({ + beforeLoad: () => ({ breadcrumb: "Silent failure" }), + component: SilentFailure, +}); + +function SilentFailure() { + const chainId = useChainId(); + const { data: value, refetch } = useReadOwnedRegistryValue(); + const { + data: hash, + isPending, + error, + writeContract, + } = useWriteForwarderForward(); + + const registry = + ownedRegistryAddress[chainId as keyof typeof ownedRegistryAddress]; + + const onClick = () => { + if (!registry) return; + writeContract( + { + args: [ + registry, + encodeFunctionData({ + abi: ownedRegistryAbi, + functionName: "setValue", + args: [42n], + }), + ], + }, + { onSuccess: () => void refetch() }, + ); + }; + + return ( +
+

+ Should set the registry value to 42 by forwarding the call. Current + on-chain value: {value === undefined ? "?" : String(value)} +

+
+ +
+ {hash && ( +

+ Transaction sent: {hash} +

+ )} + +
+ ); +} diff --git a/src/routes/bugs/stale-address.tsx b/src/routes/bugs/stale-address.tsx new file mode 100644 index 0000000..ea5e5b2 --- /dev/null +++ b/src/routes/bugs/stale-address.tsx @@ -0,0 +1,30 @@ +import { createFileRoute } from "@tanstack/react-router"; +import { useReadContract } from "wagmi"; +import { RawError } from "#/components/raw-error"; +import { testCallsAbi } from "#/wagmi.generated"; + +export const Route = createFileRoute("/bugs/stale-address")({ + beforeLoad: () => ({ breadcrumb: "Stale address" }), + component: StaleAddress, +}); + +const STALE_ADDRESS = "0x59b670e9fA9D0A427751Af201D676719a970857b" as const; + +function StaleAddress() { + const { data, error } = useReadContract({ + address: STALE_ADDRESS, + abi: testCallsAbi, + functionName: "length_uintArry", + }); + + return ( +
+

+ Should read length_uintArry() from TestCalls at{" "} + {STALE_ADDRESS} and print 10. +

+ {data !== undefined &&

Value: {String(data)}

} + +
+ ); +} diff --git a/src/wagmi.generated.ts b/src/wagmi.generated.ts index 8dfa83c..a4bbcb8 100644 --- a/src/wagmi.generated.ts +++ b/src/wagmi.generated.ts @@ -71,6 +71,196 @@ export const beaconProxyAbi = [ { type: 'error', inputs: [], name: 'FailedInnerCall' }, ] as const +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// DepositToken +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** + * + */ +export const depositTokenAbi = [ + { + type: 'function', + inputs: [ + { name: 'owner', internalType: 'address', type: 'address' }, + { name: 'spender', internalType: 'address', type: 'address' }, + ], + name: 'allowance', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [ + { name: 'spender', internalType: 'address', type: 'address' }, + { name: 'value', internalType: 'uint256', type: 'uint256' }, + ], + name: 'approve', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [{ name: 'account', internalType: 'address', type: 'address' }], + name: 'balanceOf', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'decimals', + outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [ + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'amount', internalType: 'uint256', type: 'uint256' }, + ], + name: 'mint', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [], + name: 'name', + outputs: [{ name: '', internalType: 'string', type: 'string' }], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'symbol', + outputs: [{ name: '', internalType: 'string', type: 'string' }], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'totalSupply', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [ + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'value', internalType: 'uint256', type: 'uint256' }, + ], + name: 'transfer', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [ + { name: 'from', internalType: 'address', type: 'address' }, + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'value', internalType: 'uint256', type: 'uint256' }, + ], + name: 'transferFrom', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + stateMutability: 'nonpayable', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { + name: 'owner', + internalType: 'address', + type: 'address', + indexed: true, + }, + { + name: 'spender', + internalType: 'address', + type: 'address', + indexed: true, + }, + { + name: 'value', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + ], + name: 'Approval', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'from', internalType: 'address', type: 'address', indexed: true }, + { name: 'to', internalType: 'address', type: 'address', indexed: true }, + { + name: 'value', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + ], + name: 'Transfer', + }, + { + type: 'error', + inputs: [ + { name: 'spender', internalType: 'address', type: 'address' }, + { name: 'allowance', internalType: 'uint256', type: 'uint256' }, + { name: 'needed', internalType: 'uint256', type: 'uint256' }, + ], + name: 'ERC20InsufficientAllowance', + }, + { + type: 'error', + inputs: [ + { name: 'sender', internalType: 'address', type: 'address' }, + { name: 'balance', internalType: 'uint256', type: 'uint256' }, + { name: 'needed', internalType: 'uint256', type: 'uint256' }, + ], + name: 'ERC20InsufficientBalance', + }, + { + type: 'error', + inputs: [{ name: 'approver', internalType: 'address', type: 'address' }], + name: 'ERC20InvalidApprover', + }, + { + type: 'error', + inputs: [{ name: 'receiver', internalType: 'address', type: 'address' }], + name: 'ERC20InvalidReceiver', + }, + { + type: 'error', + inputs: [{ name: 'sender', internalType: 'address', type: 'address' }], + name: 'ERC20InvalidSender', + }, + { + type: 'error', + inputs: [{ name: 'spender', internalType: 'address', type: 'address' }], + name: 'ERC20InvalidSpender', + }, +] as const + +/** + * + */ +export const depositTokenAddress = { + 31337: '0x2BB8B93F585B43b06F3d523bf30C203d3B6d4BD4', + 31338: '0x2BB8B93F585B43b06F3d523bf30C203d3B6d4BD4', +} as const + +/** + * + */ +export const depositTokenConfig = { + address: depositTokenAddress, + abi: depositTokenAbi, +} as const + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // ERC165 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -847,248 +1037,220 @@ export const erc721EnumerableAbi = [ ] as const ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// IBeacon +// Forwarder ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -export const iBeaconAbi = [ +export const forwarderAbi = [ { type: 'function', - inputs: [], - name: 'implementation', - outputs: [{ name: '', internalType: 'address', type: 'address' }], - stateMutability: 'view', + inputs: [ + { name: 'target', internalType: 'address', type: 'address' }, + { name: 'data', internalType: 'bytes', type: 'bytes' }, + ], + name: 'forward', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + stateMutability: 'nonpayable', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { + name: 'target', + internalType: 'address', + type: 'address', + indexed: true, + }, + { name: 'data', internalType: 'bytes', type: 'bytes', indexed: false }, + ], + name: 'Forwarded', }, ] as const ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// IERC1155Errors +// ForwarderTest ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -export const ierc1155ErrorsAbi = [ - { - type: 'error', - inputs: [ - { name: 'sender', internalType: 'address', type: 'address' }, - { name: 'balance', internalType: 'uint256', type: 'uint256' }, - { name: 'needed', internalType: 'uint256', type: 'uint256' }, - { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, - ], - name: 'ERC1155InsufficientBalance', - }, +export const forwarderTestAbi = [ { - type: 'error', - inputs: [{ name: 'approver', internalType: 'address', type: 'address' }], - name: 'ERC1155InvalidApprover', + type: 'function', + inputs: [], + name: 'IS_TEST', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + stateMutability: 'view', }, { - type: 'error', - inputs: [ - { name: 'idsLength', internalType: 'uint256', type: 'uint256' }, - { name: 'valuesLength', internalType: 'uint256', type: 'uint256' }, + type: 'function', + inputs: [], + name: 'excludeArtifacts', + outputs: [ + { + name: 'excludedArtifacts_', + internalType: 'string[]', + type: 'string[]', + }, ], - name: 'ERC1155InvalidArrayLength', + stateMutability: 'view', }, { - type: 'error', - inputs: [{ name: 'operator', internalType: 'address', type: 'address' }], - name: 'ERC1155InvalidOperator', + type: 'function', + inputs: [], + name: 'excludeContracts', + outputs: [ + { + name: 'excludedContracts_', + internalType: 'address[]', + type: 'address[]', + }, + ], + stateMutability: 'view', }, { - type: 'error', - inputs: [{ name: 'receiver', internalType: 'address', type: 'address' }], - name: 'ERC1155InvalidReceiver', - }, - { - type: 'error', - inputs: [{ name: 'sender', internalType: 'address', type: 'address' }], - name: 'ERC1155InvalidSender', - }, - { - type: 'error', - inputs: [ - { name: 'operator', internalType: 'address', type: 'address' }, - { name: 'owner', internalType: 'address', type: 'address' }, - ], - name: 'ERC1155MissingApprovalForAll', - }, -] as const - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// IERC1967 -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -export const ierc1967Abi = [ - { - type: 'event', - anonymous: false, - inputs: [ - { - name: 'previousAdmin', - internalType: 'address', - type: 'address', - indexed: false, - }, - { - name: 'newAdmin', - internalType: 'address', - type: 'address', - indexed: false, - }, - ], - name: 'AdminChanged', - }, - { - type: 'event', - anonymous: false, - inputs: [ + type: 'function', + inputs: [], + name: 'excludeSelectors', + outputs: [ { - name: 'beacon', - internalType: 'address', - type: 'address', - indexed: true, + name: 'excludedSelectors_', + internalType: 'struct StdInvariant.FuzzSelector[]', + type: 'tuple[]', + components: [ + { name: 'addr', internalType: 'address', type: 'address' }, + { name: 'selectors', internalType: 'bytes4[]', type: 'bytes4[]' }, + ], }, ], - name: 'BeaconUpgraded', + stateMutability: 'view', }, { - type: 'event', - anonymous: false, - inputs: [ + type: 'function', + inputs: [], + name: 'excludeSenders', + outputs: [ { - name: 'implementation', - internalType: 'address', - type: 'address', - indexed: true, + name: 'excludedSenders_', + internalType: 'address[]', + type: 'address[]', }, ], - name: 'Upgraded', - }, -] as const - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// IERC20Errors -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -export const ierc20ErrorsAbi = [ - { - type: 'error', - inputs: [ - { name: 'spender', internalType: 'address', type: 'address' }, - { name: 'allowance', internalType: 'uint256', type: 'uint256' }, - { name: 'needed', internalType: 'uint256', type: 'uint256' }, - ], - name: 'ERC20InsufficientAllowance', - }, - { - type: 'error', - inputs: [ - { name: 'sender', internalType: 'address', type: 'address' }, - { name: 'balance', internalType: 'uint256', type: 'uint256' }, - { name: 'needed', internalType: 'uint256', type: 'uint256' }, - ], - name: 'ERC20InsufficientBalance', - }, - { - type: 'error', - inputs: [{ name: 'approver', internalType: 'address', type: 'address' }], - name: 'ERC20InvalidApprover', - }, - { - type: 'error', - inputs: [{ name: 'receiver', internalType: 'address', type: 'address' }], - name: 'ERC20InvalidReceiver', + stateMutability: 'view', }, { - type: 'error', - inputs: [{ name: 'sender', internalType: 'address', type: 'address' }], - name: 'ERC20InvalidSender', + type: 'function', + inputs: [], + name: 'failed', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + stateMutability: 'view', }, { - type: 'error', - inputs: [{ name: 'spender', internalType: 'address', type: 'address' }], - name: 'ERC20InvalidSpender', + type: 'function', + inputs: [], + name: 'setUp', + outputs: [], + stateMutability: 'nonpayable', }, -] as const - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// IERC20Metadata -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -export const ierc20MetadataAbi = [ { type: 'function', - inputs: [ - { name: 'owner', internalType: 'address', type: 'address' }, - { name: 'spender', internalType: 'address', type: 'address' }, + inputs: [], + name: 'targetArtifactSelectors', + outputs: [ + { + name: 'targetedArtifactSelectors_', + internalType: 'struct StdInvariant.FuzzArtifactSelector[]', + type: 'tuple[]', + components: [ + { name: 'artifact', internalType: 'string', type: 'string' }, + { name: 'selectors', internalType: 'bytes4[]', type: 'bytes4[]' }, + ], + }, ], - name: 'allowance', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], stateMutability: 'view', }, { type: 'function', - inputs: [ - { name: 'spender', internalType: 'address', type: 'address' }, - { name: 'value', internalType: 'uint256', type: 'uint256' }, + inputs: [], + name: 'targetArtifacts', + outputs: [ + { + name: 'targetedArtifacts_', + internalType: 'string[]', + type: 'string[]', + }, ], - name: 'approve', - outputs: [{ name: '', internalType: 'bool', type: 'bool' }], - stateMutability: 'nonpayable', - }, - { - type: 'function', - inputs: [{ name: 'account', internalType: 'address', type: 'address' }], - name: 'balanceOf', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], stateMutability: 'view', }, { type: 'function', inputs: [], - name: 'decimals', - outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }], + name: 'targetContracts', + outputs: [ + { + name: 'targetedContracts_', + internalType: 'address[]', + type: 'address[]', + }, + ], stateMutability: 'view', }, { type: 'function', inputs: [], - name: 'name', - outputs: [{ name: '', internalType: 'string', type: 'string' }], + name: 'targetInterfaces', + outputs: [ + { + name: 'targetedInterfaces_', + internalType: 'struct StdInvariant.FuzzInterface[]', + type: 'tuple[]', + components: [ + { name: 'addr', internalType: 'address', type: 'address' }, + { name: 'artifacts', internalType: 'string[]', type: 'string[]' }, + ], + }, + ], stateMutability: 'view', }, { type: 'function', inputs: [], - name: 'symbol', - outputs: [{ name: '', internalType: 'string', type: 'string' }], + name: 'targetSelectors', + outputs: [ + { + name: 'targetedSelectors_', + internalType: 'struct StdInvariant.FuzzSelector[]', + type: 'tuple[]', + components: [ + { name: 'addr', internalType: 'address', type: 'address' }, + { name: 'selectors', internalType: 'bytes4[]', type: 'bytes4[]' }, + ], + }, + ], stateMutability: 'view', }, { type: 'function', inputs: [], - name: 'totalSupply', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + name: 'targetSenders', + outputs: [ + { + name: 'targetedSenders_', + internalType: 'address[]', + type: 'address[]', + }, + ], stateMutability: 'view', }, { type: 'function', - inputs: [ - { name: 'to', internalType: 'address', type: 'address' }, - { name: 'value', internalType: 'uint256', type: 'uint256' }, - ], - name: 'transfer', - outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + inputs: [], + name: 'test_forward_emitsEvenWhenInnerCallFails', + outputs: [], stateMutability: 'nonpayable', }, { type: 'function', - inputs: [ - { name: 'from', internalType: 'address', type: 'address' }, - { name: 'to', internalType: 'address', type: 'address' }, - { name: 'value', internalType: 'uint256', type: 'uint256' }, - ], - name: 'transferFrom', - outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + inputs: [], + name: 'test_forward_swallowsFailure', + outputs: [], stateMutability: 'nonpayable', }, { @@ -1096,893 +1258,538 @@ export const ierc20MetadataAbi = [ anonymous: false, inputs: [ { - name: 'owner', - internalType: 'address', - type: 'address', - indexed: true, - }, - { - name: 'spender', + name: 'target', internalType: 'address', type: 'address', indexed: true, }, - { - name: 'value', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, + { name: 'data', internalType: 'bytes', type: 'bytes', indexed: false }, ], - name: 'Approval', + name: 'Forwarded', }, { type: 'event', anonymous: false, inputs: [ - { name: 'from', internalType: 'address', type: 'address', indexed: true }, - { name: 'to', internalType: 'address', type: 'address', indexed: true }, - { - name: 'value', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, + { name: '', internalType: 'string', type: 'string', indexed: false }, ], - name: 'Transfer', + name: 'log', }, -] as const - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// IERC721Enumerable -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -export const ierc721EnumerableAbi = [ { - type: 'function', + type: 'event', + anonymous: false, inputs: [ - { name: 'to', internalType: 'address', type: 'address' }, - { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, + { name: '', internalType: 'address', type: 'address', indexed: false }, ], - name: 'approve', - outputs: [], - stateMutability: 'nonpayable', - }, - { - type: 'function', - inputs: [{ name: 'owner', internalType: 'address', type: 'address' }], - name: 'balanceOf', - outputs: [{ name: 'balance', internalType: 'uint256', type: 'uint256' }], - stateMutability: 'view', + name: 'log_address', }, { - type: 'function', - inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }], - name: 'getApproved', - outputs: [{ name: 'operator', internalType: 'address', type: 'address' }], - stateMutability: 'view', + type: 'event', + anonymous: false, + inputs: [ + { + name: 'val', + internalType: 'uint256[]', + type: 'uint256[]', + indexed: false, + }, + ], + name: 'log_array', }, { - type: 'function', + type: 'event', + anonymous: false, inputs: [ - { name: 'owner', internalType: 'address', type: 'address' }, - { name: 'operator', internalType: 'address', type: 'address' }, + { + name: 'val', + internalType: 'int256[]', + type: 'int256[]', + indexed: false, + }, ], - name: 'isApprovedForAll', - outputs: [{ name: '', internalType: 'bool', type: 'bool' }], - stateMutability: 'view', + name: 'log_array', }, { - type: 'function', - inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }], - name: 'ownerOf', - outputs: [{ name: 'owner', internalType: 'address', type: 'address' }], - stateMutability: 'view', + type: 'event', + anonymous: false, + inputs: [ + { + name: 'val', + internalType: 'address[]', + type: 'address[]', + indexed: false, + }, + ], + name: 'log_array', }, { - type: 'function', + type: 'event', + anonymous: false, inputs: [ - { name: 'from', internalType: 'address', type: 'address' }, - { name: 'to', internalType: 'address', type: 'address' }, - { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, + { name: '', internalType: 'bytes', type: 'bytes', indexed: false }, ], - name: 'safeTransferFrom', - outputs: [], - stateMutability: 'nonpayable', + name: 'log_bytes', }, { - type: 'function', + type: 'event', + anonymous: false, inputs: [ - { name: 'from', internalType: 'address', type: 'address' }, - { name: 'to', internalType: 'address', type: 'address' }, - { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, - { name: 'data', internalType: 'bytes', type: 'bytes' }, + { name: '', internalType: 'bytes32', type: 'bytes32', indexed: false }, ], - name: 'safeTransferFrom', - outputs: [], - stateMutability: 'nonpayable', + name: 'log_bytes32', }, { - type: 'function', + type: 'event', + anonymous: false, inputs: [ - { name: 'operator', internalType: 'address', type: 'address' }, - { name: 'approved', internalType: 'bool', type: 'bool' }, + { name: '', internalType: 'int256', type: 'int256', indexed: false }, ], - name: 'setApprovalForAll', - outputs: [], - stateMutability: 'nonpayable', + name: 'log_int', }, { - type: 'function', - inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }], - name: 'supportsInterface', - outputs: [{ name: '', internalType: 'bool', type: 'bool' }], - stateMutability: 'view', + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { name: 'val', internalType: 'address', type: 'address', indexed: false }, + ], + name: 'log_named_address', }, { - type: 'function', - inputs: [{ name: 'index', internalType: 'uint256', type: 'uint256' }], - name: 'tokenByIndex', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - stateMutability: 'view', + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { + name: 'val', + internalType: 'uint256[]', + type: 'uint256[]', + indexed: false, + }, + ], + name: 'log_named_array', }, { - type: 'function', + type: 'event', + anonymous: false, inputs: [ - { name: 'owner', internalType: 'address', type: 'address' }, - { name: 'index', internalType: 'uint256', type: 'uint256' }, + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { + name: 'val', + internalType: 'int256[]', + type: 'int256[]', + indexed: false, + }, ], - name: 'tokenOfOwnerByIndex', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - stateMutability: 'view', + name: 'log_named_array', }, { - type: 'function', - inputs: [], - name: 'totalSupply', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - stateMutability: 'view', + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { + name: 'val', + internalType: 'address[]', + type: 'address[]', + indexed: false, + }, + ], + name: 'log_named_array', }, { - type: 'function', + type: 'event', + anonymous: false, inputs: [ - { name: 'from', internalType: 'address', type: 'address' }, - { name: 'to', internalType: 'address', type: 'address' }, - { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { name: 'val', internalType: 'bytes', type: 'bytes', indexed: false }, ], - name: 'transferFrom', - outputs: [], - stateMutability: 'nonpayable', + name: 'log_named_bytes', }, { type: 'event', anonymous: false, inputs: [ - { - name: 'owner', - internalType: 'address', - type: 'address', - indexed: true, - }, - { - name: 'approved', - internalType: 'address', - type: 'address', - indexed: true, - }, - { - name: 'tokenId', - internalType: 'uint256', - type: 'uint256', - indexed: true, - }, + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { name: 'val', internalType: 'bytes32', type: 'bytes32', indexed: false }, ], - name: 'Approval', + name: 'log_named_bytes32', }, { type: 'event', anonymous: false, inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { name: 'val', internalType: 'int256', type: 'int256', indexed: false }, { - name: 'owner', - internalType: 'address', - type: 'address', - indexed: true, - }, - { - name: 'operator', - internalType: 'address', - type: 'address', - indexed: true, + name: 'decimals', + internalType: 'uint256', + type: 'uint256', + indexed: false, }, - { name: 'approved', internalType: 'bool', type: 'bool', indexed: false }, ], - name: 'ApprovalForAll', + name: 'log_named_decimal_int', }, { type: 'event', anonymous: false, inputs: [ - { name: 'from', internalType: 'address', type: 'address', indexed: true }, - { name: 'to', internalType: 'address', type: 'address', indexed: true }, + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { name: 'val', internalType: 'uint256', type: 'uint256', indexed: false }, { - name: 'tokenId', + name: 'decimals', internalType: 'uint256', type: 'uint256', - indexed: true, + indexed: false, }, ], - name: 'Transfer', + name: 'log_named_decimal_uint', }, -] as const - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// IERC721Errors -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -export const ierc721ErrorsAbi = [ { - type: 'error', + type: 'event', + anonymous: false, inputs: [ - { name: 'sender', internalType: 'address', type: 'address' }, - { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, - { name: 'owner', internalType: 'address', type: 'address' }, + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { name: 'val', internalType: 'int256', type: 'int256', indexed: false }, ], - name: 'ERC721IncorrectOwner', + name: 'log_named_int', }, { - type: 'error', + type: 'event', + anonymous: false, inputs: [ - { name: 'operator', internalType: 'address', type: 'address' }, - { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { name: 'val', internalType: 'string', type: 'string', indexed: false }, ], - name: 'ERC721InsufficientApproval', - }, - { - type: 'error', - inputs: [{ name: 'approver', internalType: 'address', type: 'address' }], - name: 'ERC721InvalidApprover', - }, - { - type: 'error', - inputs: [{ name: 'operator', internalType: 'address', type: 'address' }], - name: 'ERC721InvalidOperator', + name: 'log_named_string', }, { - type: 'error', - inputs: [{ name: 'owner', internalType: 'address', type: 'address' }], - name: 'ERC721InvalidOwner', + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { name: 'val', internalType: 'uint256', type: 'uint256', indexed: false }, + ], + name: 'log_named_uint', }, { - type: 'error', - inputs: [{ name: 'receiver', internalType: 'address', type: 'address' }], - name: 'ERC721InvalidReceiver', + type: 'event', + anonymous: false, + inputs: [ + { name: '', internalType: 'string', type: 'string', indexed: false }, + ], + name: 'log_string', }, { - type: 'error', - inputs: [{ name: 'sender', internalType: 'address', type: 'address' }], - name: 'ERC721InvalidSender', + type: 'event', + anonymous: false, + inputs: [ + { name: '', internalType: 'uint256', type: 'uint256', indexed: false }, + ], + name: 'log_uint', }, { - type: 'error', - inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }], - name: 'ERC721NonexistentToken', + type: 'event', + anonymous: false, + inputs: [ + { name: '', internalType: 'bytes', type: 'bytes', indexed: false }, + ], + name: 'logs', }, ] as const ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// IERC721Metadata +// IBeacon ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -export const ierc721MetadataAbi = [ - { - type: 'function', - inputs: [ - { name: 'to', internalType: 'address', type: 'address' }, - { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, - ], - name: 'approve', - outputs: [], - stateMutability: 'nonpayable', - }, - { - type: 'function', - inputs: [{ name: 'owner', internalType: 'address', type: 'address' }], - name: 'balanceOf', - outputs: [{ name: 'balance', internalType: 'uint256', type: 'uint256' }], - stateMutability: 'view', - }, - { - type: 'function', - inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }], - name: 'getApproved', - outputs: [{ name: 'operator', internalType: 'address', type: 'address' }], - stateMutability: 'view', - }, - { - type: 'function', - inputs: [ - { name: 'owner', internalType: 'address', type: 'address' }, - { name: 'operator', internalType: 'address', type: 'address' }, - ], - name: 'isApprovedForAll', - outputs: [{ name: '', internalType: 'bool', type: 'bool' }], - stateMutability: 'view', - }, +export const iBeaconAbi = [ { type: 'function', inputs: [], - name: 'name', - outputs: [{ name: '', internalType: 'string', type: 'string' }], - stateMutability: 'view', - }, - { - type: 'function', - inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }], - name: 'ownerOf', - outputs: [{ name: 'owner', internalType: 'address', type: 'address' }], + name: 'implementation', + outputs: [{ name: '', internalType: 'address', type: 'address' }], stateMutability: 'view', }, +] as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// IERC1155Errors +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const ierc1155ErrorsAbi = [ { - type: 'function', + type: 'error', inputs: [ - { name: 'from', internalType: 'address', type: 'address' }, - { name: 'to', internalType: 'address', type: 'address' }, + { name: 'sender', internalType: 'address', type: 'address' }, + { name: 'balance', internalType: 'uint256', type: 'uint256' }, + { name: 'needed', internalType: 'uint256', type: 'uint256' }, { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, ], - name: 'safeTransferFrom', - outputs: [], - stateMutability: 'nonpayable', + name: 'ERC1155InsufficientBalance', }, { - type: 'function', - inputs: [ - { name: 'from', internalType: 'address', type: 'address' }, - { name: 'to', internalType: 'address', type: 'address' }, - { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, - { name: 'data', internalType: 'bytes', type: 'bytes' }, - ], - name: 'safeTransferFrom', - outputs: [], - stateMutability: 'nonpayable', + type: 'error', + inputs: [{ name: 'approver', internalType: 'address', type: 'address' }], + name: 'ERC1155InvalidApprover', }, { - type: 'function', + type: 'error', inputs: [ - { name: 'operator', internalType: 'address', type: 'address' }, - { name: 'approved', internalType: 'bool', type: 'bool' }, + { name: 'idsLength', internalType: 'uint256', type: 'uint256' }, + { name: 'valuesLength', internalType: 'uint256', type: 'uint256' }, ], - name: 'setApprovalForAll', - outputs: [], - stateMutability: 'nonpayable', + name: 'ERC1155InvalidArrayLength', }, { - type: 'function', - inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }], - name: 'supportsInterface', - outputs: [{ name: '', internalType: 'bool', type: 'bool' }], - stateMutability: 'view', + type: 'error', + inputs: [{ name: 'operator', internalType: 'address', type: 'address' }], + name: 'ERC1155InvalidOperator', }, { - type: 'function', - inputs: [], - name: 'symbol', - outputs: [{ name: '', internalType: 'string', type: 'string' }], - stateMutability: 'view', + type: 'error', + inputs: [{ name: 'receiver', internalType: 'address', type: 'address' }], + name: 'ERC1155InvalidReceiver', }, { - type: 'function', - inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }], - name: 'tokenURI', - outputs: [{ name: '', internalType: 'string', type: 'string' }], - stateMutability: 'view', + type: 'error', + inputs: [{ name: 'sender', internalType: 'address', type: 'address' }], + name: 'ERC1155InvalidSender', }, { - type: 'function', + type: 'error', inputs: [ - { name: 'from', internalType: 'address', type: 'address' }, - { name: 'to', internalType: 'address', type: 'address' }, - { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, + { name: 'operator', internalType: 'address', type: 'address' }, + { name: 'owner', internalType: 'address', type: 'address' }, ], - name: 'transferFrom', - outputs: [], - stateMutability: 'nonpayable', + name: 'ERC1155MissingApprovalForAll', }, +] as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// IERC1967 +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const ierc1967Abi = [ { type: 'event', anonymous: false, inputs: [ { - name: 'owner', + name: 'previousAdmin', internalType: 'address', type: 'address', - indexed: true, + indexed: false, }, { - name: 'approved', + name: 'newAdmin', internalType: 'address', type: 'address', - indexed: true, - }, - { - name: 'tokenId', - internalType: 'uint256', - type: 'uint256', - indexed: true, + indexed: false, }, ], - name: 'Approval', + name: 'AdminChanged', }, { type: 'event', anonymous: false, inputs: [ { - name: 'owner', - internalType: 'address', - type: 'address', - indexed: true, - }, - { - name: 'operator', + name: 'beacon', internalType: 'address', type: 'address', indexed: true, }, - { name: 'approved', internalType: 'bool', type: 'bool', indexed: false }, ], - name: 'ApprovalForAll', + name: 'BeaconUpgraded', }, { type: 'event', anonymous: false, inputs: [ - { name: 'from', internalType: 'address', type: 'address', indexed: true }, - { name: 'to', internalType: 'address', type: 'address', indexed: true }, { - name: 'tokenId', - internalType: 'uint256', - type: 'uint256', + name: 'implementation', + internalType: 'address', + type: 'address', indexed: true, }, ], - name: 'Transfer', + name: 'Upgraded', }, ] as const ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// IERC721Receiver +// IERC20Errors ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -export const ierc721ReceiverAbi = [ +export const ierc20ErrorsAbi = [ { - type: 'function', + type: 'error', inputs: [ - { name: 'operator', internalType: 'address', type: 'address' }, - { name: 'from', internalType: 'address', type: 'address' }, - { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, - { name: 'data', internalType: 'bytes', type: 'bytes' }, + { name: 'spender', internalType: 'address', type: 'address' }, + { name: 'allowance', internalType: 'uint256', type: 'uint256' }, + { name: 'needed', internalType: 'uint256', type: 'uint256' }, ], - name: 'onERC721Received', - outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], - stateMutability: 'nonpayable', + name: 'ERC20InsufficientAllowance', }, -] as const - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// IMulticall3 -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -export const iMulticall3Abi = [ { - type: 'function', + type: 'error', inputs: [ - { - name: 'calls', - internalType: 'struct IMulticall3.Call[]', - type: 'tuple[]', - components: [ - { name: 'target', internalType: 'address', type: 'address' }, - { name: 'callData', internalType: 'bytes', type: 'bytes' }, - ], - }, - ], - name: 'aggregate', - outputs: [ - { name: 'blockNumber', internalType: 'uint256', type: 'uint256' }, - { name: 'returnData', internalType: 'bytes[]', type: 'bytes[]' }, + { name: 'sender', internalType: 'address', type: 'address' }, + { name: 'balance', internalType: 'uint256', type: 'uint256' }, + { name: 'needed', internalType: 'uint256', type: 'uint256' }, ], - stateMutability: 'payable', + name: 'ERC20InsufficientBalance', }, { - type: 'function', - inputs: [ - { - name: 'calls', - internalType: 'struct IMulticall3.Call3[]', - type: 'tuple[]', - components: [ - { name: 'target', internalType: 'address', type: 'address' }, - { name: 'allowFailure', internalType: 'bool', type: 'bool' }, - { name: 'callData', internalType: 'bytes', type: 'bytes' }, - ], - }, - ], - name: 'aggregate3', - outputs: [ - { - name: 'returnData', - internalType: 'struct IMulticall3.Result[]', - type: 'tuple[]', - components: [ - { name: 'success', internalType: 'bool', type: 'bool' }, - { name: 'returnData', internalType: 'bytes', type: 'bytes' }, - ], - }, - ], - stateMutability: 'payable', + type: 'error', + inputs: [{ name: 'approver', internalType: 'address', type: 'address' }], + name: 'ERC20InvalidApprover', }, { - type: 'function', - inputs: [ - { - name: 'calls', - internalType: 'struct IMulticall3.Call3Value[]', - type: 'tuple[]', - components: [ - { name: 'target', internalType: 'address', type: 'address' }, - { name: 'allowFailure', internalType: 'bool', type: 'bool' }, - { name: 'value', internalType: 'uint256', type: 'uint256' }, - { name: 'callData', internalType: 'bytes', type: 'bytes' }, - ], - }, - ], - name: 'aggregate3Value', - outputs: [ - { - name: 'returnData', - internalType: 'struct IMulticall3.Result[]', - type: 'tuple[]', - components: [ - { name: 'success', internalType: 'bool', type: 'bool' }, - { name: 'returnData', internalType: 'bytes', type: 'bytes' }, - ], - }, - ], - stateMutability: 'payable', + type: 'error', + inputs: [{ name: 'receiver', internalType: 'address', type: 'address' }], + name: 'ERC20InvalidReceiver', }, { - type: 'function', - inputs: [ - { - name: 'calls', - internalType: 'struct IMulticall3.Call[]', - type: 'tuple[]', - components: [ - { name: 'target', internalType: 'address', type: 'address' }, - { name: 'callData', internalType: 'bytes', type: 'bytes' }, - ], - }, - ], - name: 'blockAndAggregate', - outputs: [ - { name: 'blockNumber', internalType: 'uint256', type: 'uint256' }, - { name: 'blockHash', internalType: 'bytes32', type: 'bytes32' }, - { - name: 'returnData', - internalType: 'struct IMulticall3.Result[]', - type: 'tuple[]', - components: [ - { name: 'success', internalType: 'bool', type: 'bool' }, - { name: 'returnData', internalType: 'bytes', type: 'bytes' }, - ], - }, - ], - stateMutability: 'payable', + type: 'error', + inputs: [{ name: 'sender', internalType: 'address', type: 'address' }], + name: 'ERC20InvalidSender', }, { - type: 'function', - inputs: [], - name: 'getBasefee', - outputs: [{ name: 'basefee', internalType: 'uint256', type: 'uint256' }], - stateMutability: 'view', + type: 'error', + inputs: [{ name: 'spender', internalType: 'address', type: 'address' }], + name: 'ERC20InvalidSpender', }, +] as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// IERC20Metadata +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const ierc20MetadataAbi = [ { type: 'function', - inputs: [{ name: 'blockNumber', internalType: 'uint256', type: 'uint256' }], - name: 'getBlockHash', - outputs: [{ name: 'blockHash', internalType: 'bytes32', type: 'bytes32' }], + inputs: [ + { name: 'owner', internalType: 'address', type: 'address' }, + { name: 'spender', internalType: 'address', type: 'address' }, + ], + name: 'allowance', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], stateMutability: 'view', }, { type: 'function', - inputs: [], - name: 'getBlockNumber', - outputs: [ - { name: 'blockNumber', internalType: 'uint256', type: 'uint256' }, + inputs: [ + { name: 'spender', internalType: 'address', type: 'address' }, + { name: 'value', internalType: 'uint256', type: 'uint256' }, ], - stateMutability: 'view', + name: 'approve', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + stateMutability: 'nonpayable', }, { type: 'function', - inputs: [], - name: 'getChainId', - outputs: [{ name: 'chainid', internalType: 'uint256', type: 'uint256' }], + inputs: [{ name: 'account', internalType: 'address', type: 'address' }], + name: 'balanceOf', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], stateMutability: 'view', }, { type: 'function', inputs: [], - name: 'getCurrentBlockCoinbase', - outputs: [{ name: 'coinbase', internalType: 'address', type: 'address' }], + name: 'decimals', + outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }], stateMutability: 'view', }, { type: 'function', inputs: [], - name: 'getCurrentBlockDifficulty', - outputs: [{ name: 'difficulty', internalType: 'uint256', type: 'uint256' }], + name: 'name', + outputs: [{ name: '', internalType: 'string', type: 'string' }], stateMutability: 'view', }, { type: 'function', inputs: [], - name: 'getCurrentBlockGasLimit', - outputs: [{ name: 'gaslimit', internalType: 'uint256', type: 'uint256' }], + name: 'symbol', + outputs: [{ name: '', internalType: 'string', type: 'string' }], stateMutability: 'view', }, { type: 'function', inputs: [], - name: 'getCurrentBlockTimestamp', - outputs: [{ name: 'timestamp', internalType: 'uint256', type: 'uint256' }], + name: 'totalSupply', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], stateMutability: 'view', }, { type: 'function', - inputs: [{ name: 'addr', internalType: 'address', type: 'address' }], - name: 'getEthBalance', - outputs: [{ name: 'balance', internalType: 'uint256', type: 'uint256' }], - stateMutability: 'view', + inputs: [ + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'value', internalType: 'uint256', type: 'uint256' }, + ], + name: 'transfer', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + stateMutability: 'nonpayable', }, { type: 'function', - inputs: [], - name: 'getLastBlockHash', - outputs: [{ name: 'blockHash', internalType: 'bytes32', type: 'bytes32' }], - stateMutability: 'view', + inputs: [ + { name: 'from', internalType: 'address', type: 'address' }, + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'value', internalType: 'uint256', type: 'uint256' }, + ], + name: 'transferFrom', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + stateMutability: 'nonpayable', }, { - type: 'function', + type: 'event', + anonymous: false, inputs: [ - { name: 'requireSuccess', internalType: 'bool', type: 'bool' }, { - name: 'calls', - internalType: 'struct IMulticall3.Call[]', - type: 'tuple[]', - components: [ - { name: 'target', internalType: 'address', type: 'address' }, - { name: 'callData', internalType: 'bytes', type: 'bytes' }, - ], + name: 'owner', + internalType: 'address', + type: 'address', + indexed: true, }, - ], - name: 'tryAggregate', - outputs: [ { - name: 'returnData', - internalType: 'struct IMulticall3.Result[]', - type: 'tuple[]', - components: [ - { name: 'success', internalType: 'bool', type: 'bool' }, - { name: 'returnData', internalType: 'bytes', type: 'bytes' }, - ], + name: 'spender', + internalType: 'address', + type: 'address', + indexed: true, + }, + { + name: 'value', + internalType: 'uint256', + type: 'uint256', + indexed: false, }, ], - stateMutability: 'payable', + name: 'Approval', }, { - type: 'function', + type: 'event', + anonymous: false, inputs: [ - { name: 'requireSuccess', internalType: 'bool', type: 'bool' }, - { - name: 'calls', - internalType: 'struct IMulticall3.Call[]', - type: 'tuple[]', - components: [ - { name: 'target', internalType: 'address', type: 'address' }, - { name: 'callData', internalType: 'bytes', type: 'bytes' }, - ], - }, - ], - name: 'tryBlockAndAggregate', - outputs: [ - { name: 'blockNumber', internalType: 'uint256', type: 'uint256' }, - { name: 'blockHash', internalType: 'bytes32', type: 'bytes32' }, + { name: 'from', internalType: 'address', type: 'address', indexed: true }, + { name: 'to', internalType: 'address', type: 'address', indexed: true }, { - name: 'returnData', - internalType: 'struct IMulticall3.Result[]', - type: 'tuple[]', - components: [ - { name: 'success', internalType: 'bool', type: 'bool' }, - { name: 'returnData', internalType: 'bytes', type: 'bytes' }, - ], + name: 'value', + internalType: 'uint256', + type: 'uint256', + indexed: false, }, ], - stateMutability: 'payable', + name: 'Transfer', }, ] as const ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// IProxyAdmin +// IERC721Enumerable ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -export const iProxyAdminAbi = [ - { - type: 'function', - inputs: [ - { name: '', internalType: 'address', type: 'address' }, - { name: '', internalType: 'address', type: 'address' }, - ], - name: 'upgrade', - outputs: [], - stateMutability: 'nonpayable', - }, - { - type: 'function', - inputs: [ - { name: '', internalType: 'address', type: 'address' }, - { name: '', internalType: 'address', type: 'address' }, - { name: '', internalType: 'bytes', type: 'bytes' }, - ], - name: 'upgradeAndCall', - outputs: [], - stateMutability: 'payable', - }, -] as const - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// ITransparentUpgradeableProxy -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -export const iTransparentUpgradeableProxyAbi = [ - { - type: 'function', - inputs: [ - { name: '', internalType: 'address', type: 'address' }, - { name: '', internalType: 'bytes', type: 'bytes' }, - ], - name: 'upgradeToAndCall', - outputs: [], - stateMutability: 'payable', - }, - { - type: 'event', - anonymous: false, - inputs: [ - { - name: 'previousAdmin', - internalType: 'address', - type: 'address', - indexed: false, - }, - { - name: 'newAdmin', - internalType: 'address', - type: 'address', - indexed: false, - }, - ], - name: 'AdminChanged', - }, - { - type: 'event', - anonymous: false, - inputs: [ - { - name: 'beacon', - internalType: 'address', - type: 'address', - indexed: true, - }, - ], - name: 'BeaconUpgraded', - }, - { - type: 'event', - anonymous: false, - inputs: [ - { - name: 'implementation', - internalType: 'address', - type: 'address', - indexed: true, - }, - ], - name: 'Upgraded', - }, -] as const - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// IUpgradeableBeacon -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -export const iUpgradeableBeaconAbi = [ - { - type: 'function', - inputs: [{ name: '', internalType: 'address', type: 'address' }], - name: 'upgradeTo', - outputs: [], - stateMutability: 'nonpayable', - }, -] as const - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// IUpgradeableProxy -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -export const iUpgradeableProxyAbi = [ - { - type: 'function', - inputs: [{ name: '', internalType: 'address', type: 'address' }], - name: 'upgradeTo', - outputs: [], - stateMutability: 'nonpayable', - }, - { - type: 'function', - inputs: [ - { name: '', internalType: 'address', type: 'address' }, - { name: '', internalType: 'bytes', type: 'bytes' }, - ], - name: 'upgradeToAndCall', - outputs: [], - stateMutability: 'payable', - }, -] as const - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Initializable -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -export const initializableAbi = [ - { - type: 'event', - anonymous: false, - inputs: [ - { - name: 'version', - internalType: 'uint64', - type: 'uint64', - indexed: false, - }, - ], - name: 'Initialized', - }, - { type: 'error', inputs: [], name: 'InvalidInitialization' }, - { type: 'error', inputs: [], name: 'NotInitializing' }, -] as const - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Math -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -export const mathAbi = [ - { type: 'error', inputs: [], name: 'MathOverflowedMulDiv' }, -] as const - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// NFT -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -/** - * - */ -export const nftAbi = [ - { - type: 'constructor', - inputs: [{ name: '_baseImageURI', internalType: 'string', type: 'string' }], - stateMutability: 'nonpayable', - }, +export const ierc721EnumerableAbi = [ { type: 'function', inputs: [ @@ -1997,21 +1804,14 @@ export const nftAbi = [ type: 'function', inputs: [{ name: 'owner', internalType: 'address', type: 'address' }], name: 'balanceOf', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - stateMutability: 'view', - }, - { - type: 'function', - inputs: [], - name: 'currentId', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + outputs: [{ name: 'balance', internalType: 'uint256', type: 'uint256' }], stateMutability: 'view', }, { type: 'function', inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }], name: 'getApproved', - outputs: [{ name: '', internalType: 'address', type: 'address' }], + outputs: [{ name: 'operator', internalType: 'address', type: 'address' }], stateMutability: 'view', }, { @@ -2024,32 +1824,11 @@ export const nftAbi = [ outputs: [{ name: '', internalType: 'bool', type: 'bool' }], stateMutability: 'view', }, - { - type: 'function', - inputs: [{ name: 'tokensOwner', internalType: 'address', type: 'address' }], - name: 'listTokensByAddress', - outputs: [{ name: '', internalType: 'uint256[]', type: 'uint256[]' }], - stateMutability: 'view', - }, - { - type: 'function', - inputs: [{ name: 'to', internalType: 'address', type: 'address' }], - name: 'mint', - outputs: [], - stateMutability: 'nonpayable', - }, - { - type: 'function', - inputs: [], - name: 'name', - outputs: [{ name: '', internalType: 'string', type: 'string' }], - stateMutability: 'view', - }, { type: 'function', inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }], name: 'ownerOf', - outputs: [{ name: '', internalType: 'address', type: 'address' }], + outputs: [{ name: 'owner', internalType: 'address', type: 'address' }], stateMutability: 'view', }, { @@ -2092,13 +1871,6 @@ export const nftAbi = [ outputs: [{ name: '', internalType: 'bool', type: 'bool' }], stateMutability: 'view', }, - { - type: 'function', - inputs: [], - name: 'symbol', - outputs: [{ name: '', internalType: 'string', type: 'string' }], - stateMutability: 'view', - }, { type: 'function', inputs: [{ name: 'index', internalType: 'uint256', type: 'uint256' }], @@ -2116,13 +1888,6 @@ export const nftAbi = [ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], stateMutability: 'view', }, - { - type: 'function', - inputs: [{ name: 'id', internalType: 'uint256', type: 'uint256' }], - name: 'tokenURI', - outputs: [{ name: '', internalType: 'string', type: 'string' }], - stateMutability: 'view', - }, { type: 'function', inputs: [], @@ -2201,7 +1966,13 @@ export const nftAbi = [ ], name: 'Transfer', }, - { type: 'error', inputs: [], name: 'ERC721EnumerableForbiddenBatchMint' }, +] as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// IERC721Errors +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const ierc721ErrorsAbi = [ { type: 'error', inputs: [ @@ -2249,842 +2020,934 @@ export const nftAbi = [ inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }], name: 'ERC721NonexistentToken', }, - { - type: 'error', - inputs: [ - { name: 'owner', internalType: 'address', type: 'address' }, - { name: 'index', internalType: 'uint256', type: 'uint256' }, - ], - name: 'ERC721OutOfBoundsIndex', - }, - { type: 'error', inputs: [], name: 'InvalidArguments' }, ] as const -/** - * - */ -export const nftAddress = { - 31337: '0x5FbDB2315678afecb367f032d93F642f64180aa3', - 31338: '0x5FbDB2315678afecb367f032d93F642f64180aa3', -} as const - -/** - * - */ -export const nftConfig = { address: nftAddress, abi: nftAbi } as const - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Ownable +// IERC721Metadata ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -export const ownableAbi = [ +export const ierc721MetadataAbi = [ { type: 'function', - inputs: [], - name: 'owner', - outputs: [{ name: '', internalType: 'address', type: 'address' }], - stateMutability: 'view', + inputs: [ + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, + ], + name: 'approve', + outputs: [], + stateMutability: 'nonpayable', }, { type: 'function', - inputs: [], - name: 'renounceOwnership', - outputs: [], - stateMutability: 'nonpayable', + inputs: [{ name: 'owner', internalType: 'address', type: 'address' }], + name: 'balanceOf', + outputs: [{ name: 'balance', internalType: 'uint256', type: 'uint256' }], + stateMutability: 'view', }, { type: 'function', - inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }], - name: 'transferOwnership', - outputs: [], - stateMutability: 'nonpayable', + inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }], + name: 'getApproved', + outputs: [{ name: 'operator', internalType: 'address', type: 'address' }], + stateMutability: 'view', }, { - type: 'event', - anonymous: false, + type: 'function', inputs: [ - { - name: 'previousOwner', - internalType: 'address', - type: 'address', - indexed: true, - }, - { - name: 'newOwner', - internalType: 'address', - type: 'address', - indexed: true, - }, + { name: 'owner', internalType: 'address', type: 'address' }, + { name: 'operator', internalType: 'address', type: 'address' }, ], - name: 'OwnershipTransferred', + name: 'isApprovedForAll', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + stateMutability: 'view', }, { - type: 'error', - inputs: [{ name: 'owner', internalType: 'address', type: 'address' }], - name: 'OwnableInvalidOwner', + type: 'function', + inputs: [], + name: 'name', + outputs: [{ name: '', internalType: 'string', type: 'string' }], + stateMutability: 'view', }, { - type: 'error', - inputs: [{ name: 'account', internalType: 'address', type: 'address' }], - name: 'OwnableUnauthorizedAccount', + type: 'function', + inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }], + name: 'ownerOf', + outputs: [{ name: 'owner', internalType: 'address', type: 'address' }], + stateMutability: 'view', }, -] as const - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Proxy -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -export const proxyAbi = [ - { type: 'fallback', stateMutability: 'payable' }, -] as const - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// ProxyAdmin -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -export const proxyAdminAbi = [ { - type: 'constructor', + type: 'function', inputs: [ - { name: 'initialOwner', internalType: 'address', type: 'address' }, + { name: 'from', internalType: 'address', type: 'address' }, + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, ], + name: 'safeTransferFrom', + outputs: [], stateMutability: 'nonpayable', }, { type: 'function', - inputs: [], - name: 'UPGRADE_INTERFACE_VERSION', - outputs: [{ name: '', internalType: 'string', type: 'string' }], + inputs: [ + { name: 'from', internalType: 'address', type: 'address' }, + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, + { name: 'data', internalType: 'bytes', type: 'bytes' }, + ], + name: 'safeTransferFrom', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [ + { name: 'operator', internalType: 'address', type: 'address' }, + { name: 'approved', internalType: 'bool', type: 'bool' }, + ], + name: 'setApprovalForAll', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }], + name: 'supportsInterface', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], stateMutability: 'view', }, { type: 'function', inputs: [], - name: 'owner', - outputs: [{ name: '', internalType: 'address', type: 'address' }], + name: 'symbol', + outputs: [{ name: '', internalType: 'string', type: 'string' }], stateMutability: 'view', }, { type: 'function', - inputs: [], - name: 'renounceOwnership', - outputs: [], - stateMutability: 'nonpayable', + inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }], + name: 'tokenURI', + outputs: [{ name: '', internalType: 'string', type: 'string' }], + stateMutability: 'view', }, { type: 'function', - inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }], - name: 'transferOwnership', + inputs: [ + { name: 'from', internalType: 'address', type: 'address' }, + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, + ], + name: 'transferFrom', outputs: [], stateMutability: 'nonpayable', }, { - type: 'function', + type: 'event', + anonymous: false, inputs: [ { - name: 'proxy', - internalType: 'contract ITransparentUpgradeableProxy', + name: 'owner', + internalType: 'address', type: 'address', + indexed: true, + }, + { + name: 'approved', + internalType: 'address', + type: 'address', + indexed: true, + }, + { + name: 'tokenId', + internalType: 'uint256', + type: 'uint256', + indexed: true, }, - { name: 'implementation', internalType: 'address', type: 'address' }, - { name: 'data', internalType: 'bytes', type: 'bytes' }, ], - name: 'upgradeAndCall', - outputs: [], - stateMutability: 'payable', + name: 'Approval', }, { type: 'event', anonymous: false, inputs: [ { - name: 'previousOwner', + name: 'owner', internalType: 'address', type: 'address', indexed: true, }, { - name: 'newOwner', + name: 'operator', internalType: 'address', type: 'address', indexed: true, }, + { name: 'approved', internalType: 'bool', type: 'bool', indexed: false }, ], - name: 'OwnershipTransferred', - }, - { - type: 'error', - inputs: [{ name: 'owner', internalType: 'address', type: 'address' }], - name: 'OwnableInvalidOwner', + name: 'ApprovalForAll', }, { - type: 'error', - inputs: [{ name: 'account', internalType: 'address', type: 'address' }], - name: 'OwnableUnauthorizedAccount', + type: 'event', + anonymous: false, + inputs: [ + { name: 'from', internalType: 'address', type: 'address', indexed: true }, + { name: 'to', internalType: 'address', type: 'address', indexed: true }, + { + name: 'tokenId', + internalType: 'uint256', + type: 'uint256', + indexed: true, + }, + ], + name: 'Transfer', }, ] as const ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Strings +// IERC721Receiver ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -export const stringsAbi = [ +export const ierc721ReceiverAbi = [ { - type: 'error', + type: 'function', inputs: [ - { name: 'value', internalType: 'uint256', type: 'uint256' }, - { name: 'length', internalType: 'uint256', type: 'uint256' }, + { name: 'operator', internalType: 'address', type: 'address' }, + { name: 'from', internalType: 'address', type: 'address' }, + { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, + { name: 'data', internalType: 'bytes', type: 'bytes' }, ], - name: 'StringsInsufficientHexLength', + name: 'onERC721Received', + outputs: [{ name: '', internalType: 'bytes4', type: 'bytes4' }], + stateMutability: 'nonpayable', }, ] as const ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// TestCalls +// IMulticall3 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -/** - * - */ -export const testCallsAbi = [ - { type: 'fallback', stateMutability: 'nonpayable' }, +export const iMulticall3Abi = [ { type: 'function', inputs: [ - { name: '_amount', internalType: 'uint256', type: 'uint256' }, - { name: '_proof', internalType: 'string[]', type: 'string[]' }, + { + name: 'calls', + internalType: 'struct IMulticall3.Call[]', + type: 'tuple[]', + components: [ + { name: 'target', internalType: 'address', type: 'address' }, + { name: 'callData', internalType: 'bytes', type: 'bytes' }, + ], + }, ], - name: 'buy', - outputs: [], - stateMutability: 'nonpayable', + name: 'aggregate', + outputs: [ + { name: 'blockNumber', internalType: 'uint256', type: 'uint256' }, + { name: 'returnData', internalType: 'bytes[]', type: 'bytes[]' }, + ], + stateMutability: 'payable', }, { type: 'function', - inputs: [{ name: 'v', internalType: 'bytes', type: 'bytes' }], - name: 'call_bytes', - outputs: [], - stateMutability: 'nonpayable', + inputs: [ + { + name: 'calls', + internalType: 'struct IMulticall3.Call3[]', + type: 'tuple[]', + components: [ + { name: 'target', internalType: 'address', type: 'address' }, + { name: 'allowFailure', internalType: 'bool', type: 'bool' }, + { name: 'callData', internalType: 'bytes', type: 'bytes' }, + ], + }, + ], + name: 'aggregate3', + outputs: [ + { + name: 'returnData', + internalType: 'struct IMulticall3.Result[]', + type: 'tuple[]', + components: [ + { name: 'success', internalType: 'bool', type: 'bool' }, + { name: 'returnData', internalType: 'bytes', type: 'bytes' }, + ], + }, + ], + stateMutability: 'payable', }, { type: 'function', - inputs: [{ name: 'v', internalType: 'bytes32', type: 'bytes32' }], - name: 'call_bytes32', - outputs: [], - stateMutability: 'nonpayable', - }, - { - type: 'function', - inputs: [{ name: 'v', internalType: 'bytes[]', type: 'bytes[]' }], - name: 'call_bytes32Array', - outputs: [], - stateMutability: 'nonpayable', - }, - { - type: 'function', - inputs: [{ name: 'v', internalType: 'bytes32[]', type: 'bytes32[]' }], - name: 'call_bytesArray', - outputs: [], - stateMutability: 'nonpayable', - }, - { - type: 'function', - inputs: [], - name: 'call_empty', - outputs: [], - stateMutability: 'nonpayable', + inputs: [ + { + name: 'calls', + internalType: 'struct IMulticall3.Call3Value[]', + type: 'tuple[]', + components: [ + { name: 'target', internalType: 'address', type: 'address' }, + { name: 'allowFailure', internalType: 'bool', type: 'bool' }, + { name: 'value', internalType: 'uint256', type: 'uint256' }, + { name: 'callData', internalType: 'bytes', type: 'bytes' }, + ], + }, + ], + name: 'aggregate3Value', + outputs: [ + { + name: 'returnData', + internalType: 'struct IMulticall3.Result[]', + type: 'tuple[]', + components: [ + { name: 'success', internalType: 'bool', type: 'bool' }, + { name: 'returnData', internalType: 'bytes', type: 'bytes' }, + ], + }, + ], + stateMutability: 'payable', }, { type: 'function', inputs: [ { - name: 'v', - internalType: 'struct TestCalls.Struct2', - type: 'tuple', + name: 'calls', + internalType: 'struct IMulticall3.Call[]', + type: 'tuple[]', components: [ - { name: 'a', internalType: 'address', type: 'address' }, - { - name: 's', - internalType: 'struct TestCalls.Struct', - type: 'tuple', - components: [ - { name: 'n', internalType: 'string', type: 'string' }, - { name: 'v', internalType: 'uint256', type: 'uint256' }, - ], - }, + { name: 'target', internalType: 'address', type: 'address' }, + { name: 'callData', internalType: 'bytes', type: 'bytes' }, ], }, ], - name: 'call_nestedStruct', - outputs: [], - stateMutability: 'nonpayable', + name: 'blockAndAggregate', + outputs: [ + { name: 'blockNumber', internalType: 'uint256', type: 'uint256' }, + { name: 'blockHash', internalType: 'bytes32', type: 'bytes32' }, + { + name: 'returnData', + internalType: 'struct IMulticall3.Result[]', + type: 'tuple[]', + components: [ + { name: 'success', internalType: 'bool', type: 'bool' }, + { name: 'returnData', internalType: 'bytes', type: 'bytes' }, + ], + }, + ], + stateMutability: 'payable', }, { type: 'function', - inputs: [{ name: 'v', internalType: 'string', type: 'string' }], - name: 'call_string', - outputs: [], - stateMutability: 'nonpayable', + inputs: [], + name: 'getBasefee', + outputs: [{ name: 'basefee', internalType: 'uint256', type: 'uint256' }], + stateMutability: 'view', }, { type: 'function', - inputs: [{ name: 'v', internalType: 'string[]', type: 'string[]' }], - name: 'call_stringArray', - outputs: [], - stateMutability: 'nonpayable', + inputs: [{ name: 'blockNumber', internalType: 'uint256', type: 'uint256' }], + name: 'getBlockHash', + outputs: [{ name: 'blockHash', internalType: 'bytes32', type: 'bytes32' }], + stateMutability: 'view', }, { type: 'function', - inputs: [ - { - name: 'v', - internalType: 'struct TestCalls.Struct', - type: 'tuple', - components: [ - { name: 'n', internalType: 'string', type: 'string' }, - { name: 'v', internalType: 'uint256', type: 'uint256' }, - ], - }, + inputs: [], + name: 'getBlockNumber', + outputs: [ + { name: 'blockNumber', internalType: 'uint256', type: 'uint256' }, ], - name: 'call_struct', - outputs: [], - stateMutability: 'nonpayable', + stateMutability: 'view', }, { type: 'function', - inputs: [{ name: 'v', internalType: 'uint256', type: 'uint256' }], - name: 'call_uint', - outputs: [], - stateMutability: 'nonpayable', + inputs: [], + name: 'getChainId', + outputs: [{ name: 'chainid', internalType: 'uint256', type: 'uint256' }], + stateMutability: 'view', }, { type: 'function', - inputs: [{ name: 'v', internalType: 'uint256[]', type: 'uint256[]' }], - name: 'call_uintArray', - outputs: [], - stateMutability: 'nonpayable', + inputs: [], + name: 'getCurrentBlockCoinbase', + outputs: [{ name: 'coinbase', internalType: 'address', type: 'address' }], + stateMutability: 'view', }, { type: 'function', - inputs: [{ name: 'v', internalType: 'uint256[2]', type: 'uint256[2]' }], - name: 'call_uintArraySpecificLength', - outputs: [], - stateMutability: 'nonpayable', + inputs: [], + name: 'getCurrentBlockDifficulty', + outputs: [{ name: 'difficulty', internalType: 'uint256', type: 'uint256' }], + stateMutability: 'view', }, { type: 'function', - inputs: [{ name: 'v', internalType: 'uint256[][]', type: 'uint256[][]' }], - name: 'call_uintNestedArray', - outputs: [], - stateMutability: 'nonpayable', + inputs: [], + name: 'getCurrentBlockGasLimit', + outputs: [{ name: 'gaslimit', internalType: 'uint256', type: 'uint256' }], + stateMutability: 'view', }, { type: 'function', inputs: [], - name: 'length_uintArry', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - stateMutability: 'pure', + name: 'getCurrentBlockTimestamp', + outputs: [{ name: 'timestamp', internalType: 'uint256', type: 'uint256' }], + stateMutability: 'view', }, { type: 'function', - inputs: [{ name: 'v', internalType: 'uint256', type: 'uint256' }], - name: 'pay', - outputs: [], - stateMutability: 'payable', + inputs: [{ name: 'addr', internalType: 'address', type: 'address' }], + name: 'getEthBalance', + outputs: [{ name: 'balance', internalType: 'uint256', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'getLastBlockHash', + outputs: [{ name: 'blockHash', internalType: 'bytes32', type: 'bytes32' }], + stateMutability: 'view', }, { type: 'function', inputs: [ - { name: 'x', internalType: 'uint256', type: 'uint256' }, - { name: 'y', internalType: 'uint256', type: 'uint256' }, + { name: 'requireSuccess', internalType: 'bool', type: 'bool' }, + { + name: 'calls', + internalType: 'struct IMulticall3.Call[]', + type: 'tuple[]', + components: [ + { name: 'target', internalType: 'address', type: 'address' }, + { name: 'callData', internalType: 'bytes', type: 'bytes' }, + ], + }, ], - name: 'two', - outputs: [], - stateMutability: 'nonpayable', + name: 'tryAggregate', + outputs: [ + { + name: 'returnData', + internalType: 'struct IMulticall3.Result[]', + type: 'tuple[]', + components: [ + { name: 'success', internalType: 'bool', type: 'bool' }, + { name: 'returnData', internalType: 'bytes', type: 'bytes' }, + ], + }, + ], + stateMutability: 'payable', }, { type: 'function', - inputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - name: 'uintArray', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - stateMutability: 'view', + inputs: [ + { name: 'requireSuccess', internalType: 'bool', type: 'bool' }, + { + name: 'calls', + internalType: 'struct IMulticall3.Call[]', + type: 'tuple[]', + components: [ + { name: 'target', internalType: 'address', type: 'address' }, + { name: 'callData', internalType: 'bytes', type: 'bytes' }, + ], + }, + ], + name: 'tryBlockAndAggregate', + outputs: [ + { name: 'blockNumber', internalType: 'uint256', type: 'uint256' }, + { name: 'blockHash', internalType: 'bytes32', type: 'bytes32' }, + { + name: 'returnData', + internalType: 'struct IMulticall3.Result[]', + type: 'tuple[]', + components: [ + { name: 'success', internalType: 'bool', type: 'bool' }, + { name: 'returnData', internalType: 'bytes', type: 'bytes' }, + ], + }, + ], + stateMutability: 'payable', }, ] as const -/** - * - */ -export const testCallsAddress = { - 31337: '0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0', - 31338: '0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0', -} as const - -/** - * - */ -export const testCallsConfig = { - address: testCallsAddress, - abi: testCallsAbi, -} as const - ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// TestCallsUpgradeable +// IProxyAdmin ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -export const testCallsUpgradeableAbi = [ - { type: 'fallback', stateMutability: 'nonpayable' }, +export const iProxyAdminAbi = [ { type: 'function', inputs: [ - { name: '_amount', internalType: 'uint256', type: 'uint256' }, - { name: '_proof', internalType: 'string[]', type: 'string[]' }, + { name: '', internalType: 'address', type: 'address' }, + { name: '', internalType: 'address', type: 'address' }, ], - name: 'buy', + name: 'upgrade', outputs: [], stateMutability: 'nonpayable', }, { type: 'function', - inputs: [{ name: 'v', internalType: 'bytes', type: 'bytes' }], - name: 'call_bytes', + inputs: [ + { name: '', internalType: 'address', type: 'address' }, + { name: '', internalType: 'address', type: 'address' }, + { name: '', internalType: 'bytes', type: 'bytes' }, + ], + name: 'upgradeAndCall', outputs: [], - stateMutability: 'nonpayable', + stateMutability: 'payable', }, +] as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// ITransparentUpgradeableProxy +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const iTransparentUpgradeableProxyAbi = [ { type: 'function', - inputs: [{ name: 'v', internalType: 'bytes32', type: 'bytes32' }], - name: 'call_bytes32', + inputs: [ + { name: '', internalType: 'address', type: 'address' }, + { name: '', internalType: 'bytes', type: 'bytes' }, + ], + name: 'upgradeToAndCall', outputs: [], - stateMutability: 'nonpayable', + stateMutability: 'payable', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { + name: 'previousAdmin', + internalType: 'address', + type: 'address', + indexed: false, + }, + { + name: 'newAdmin', + internalType: 'address', + type: 'address', + indexed: false, + }, + ], + name: 'AdminChanged', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { + name: 'beacon', + internalType: 'address', + type: 'address', + indexed: true, + }, + ], + name: 'BeaconUpgraded', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { + name: 'implementation', + internalType: 'address', + type: 'address', + indexed: true, + }, + ], + name: 'Upgraded', }, +] as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// IUpgradeableBeacon +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const iUpgradeableBeaconAbi = [ { type: 'function', - inputs: [{ name: 'v', internalType: 'bytes[]', type: 'bytes[]' }], - name: 'call_bytes32Array', + inputs: [{ name: '', internalType: 'address', type: 'address' }], + name: 'upgradeTo', outputs: [], stateMutability: 'nonpayable', }, +] as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// IUpgradeableProxy +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const iUpgradeableProxyAbi = [ { type: 'function', - inputs: [{ name: 'v', internalType: 'bytes32[]', type: 'bytes32[]' }], - name: 'call_bytesArray', + inputs: [{ name: '', internalType: 'address', type: 'address' }], + name: 'upgradeTo', outputs: [], stateMutability: 'nonpayable', }, { type: 'function', - inputs: [], - name: 'call_empty', + inputs: [ + { name: '', internalType: 'address', type: 'address' }, + { name: '', internalType: 'bytes', type: 'bytes' }, + ], + name: 'upgradeToAndCall', outputs: [], - stateMutability: 'nonpayable', + stateMutability: 'payable', }, +] as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Initializable +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const initializableAbi = [ { - type: 'function', + type: 'event', + anonymous: false, inputs: [ { - name: 'v', - internalType: 'struct TestCalls.Struct2', - type: 'tuple', - components: [ - { name: 'a', internalType: 'address', type: 'address' }, - { - name: 's', - internalType: 'struct TestCalls.Struct', - type: 'tuple', - components: [ - { name: 'n', internalType: 'string', type: 'string' }, - { name: 'v', internalType: 'uint256', type: 'uint256' }, - ], - }, - ], + name: 'version', + internalType: 'uint64', + type: 'uint64', + indexed: false, }, ], - name: 'call_nestedStruct', - outputs: [], - stateMutability: 'nonpayable', + name: 'Initialized', }, + { type: 'error', inputs: [], name: 'InvalidInitialization' }, + { type: 'error', inputs: [], name: 'NotInitializing' }, +] as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Math +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const mathAbi = [ + { type: 'error', inputs: [], name: 'MathOverflowedMulDiv' }, +] as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// NFT +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** + * + */ +export const nftAbi = [ { - type: 'function', - inputs: [{ name: 'v', internalType: 'string', type: 'string' }], - name: 'call_string', - outputs: [], + type: 'constructor', + inputs: [{ name: '_baseImageURI', internalType: 'string', type: 'string' }], stateMutability: 'nonpayable', }, { type: 'function', - inputs: [{ name: 'v', internalType: 'string[]', type: 'string[]' }], - name: 'call_stringArray', + inputs: [ + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, + ], + name: 'approve', outputs: [], stateMutability: 'nonpayable', }, { type: 'function', - inputs: [ - { - name: 'v', - internalType: 'struct TestCalls.Struct', - type: 'tuple', - components: [ - { name: 'n', internalType: 'string', type: 'string' }, - { name: 'v', internalType: 'uint256', type: 'uint256' }, - ], - }, - ], - name: 'call_struct', - outputs: [], - stateMutability: 'nonpayable', + inputs: [{ name: 'owner', internalType: 'address', type: 'address' }], + name: 'balanceOf', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + stateMutability: 'view', }, { type: 'function', - inputs: [{ name: 'v', internalType: 'uint256', type: 'uint256' }], - name: 'call_uint', - outputs: [], - stateMutability: 'nonpayable', + inputs: [], + name: 'currentId', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + stateMutability: 'view', }, { type: 'function', - inputs: [{ name: 'v', internalType: 'uint256[]', type: 'uint256[]' }], - name: 'call_uintArray', - outputs: [], - stateMutability: 'nonpayable', + inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }], + name: 'getApproved', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + stateMutability: 'view', }, { type: 'function', - inputs: [{ name: 'v', internalType: 'uint256[2]', type: 'uint256[2]' }], - name: 'call_uintArraySpecificLength', - outputs: [], - stateMutability: 'nonpayable', + inputs: [ + { name: 'owner', internalType: 'address', type: 'address' }, + { name: 'operator', internalType: 'address', type: 'address' }, + ], + name: 'isApprovedForAll', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + stateMutability: 'view', }, { type: 'function', - inputs: [{ name: 'v', internalType: 'uint256[][]', type: 'uint256[][]' }], - name: 'call_uintNestedArray', - outputs: [], - stateMutability: 'nonpayable', + inputs: [{ name: 'tokensOwner', internalType: 'address', type: 'address' }], + name: 'listTokensByAddress', + outputs: [{ name: '', internalType: 'uint256[]', type: 'uint256[]' }], + stateMutability: 'view', }, { type: 'function', - inputs: [], - name: 'initialize', + inputs: [{ name: 'to', internalType: 'address', type: 'address' }], + name: 'mint', outputs: [], stateMutability: 'nonpayable', }, { type: 'function', inputs: [], - name: 'length_uintArry', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - stateMutability: 'pure', + name: 'name', + outputs: [{ name: '', internalType: 'string', type: 'string' }], + stateMutability: 'view', }, { type: 'function', - inputs: [{ name: 'v', internalType: 'uint256', type: 'uint256' }], - name: 'pay', - outputs: [], - stateMutability: 'payable', + inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }], + name: 'ownerOf', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + stateMutability: 'view', }, { type: 'function', - inputs: [{ name: '_x', internalType: 'uint256', type: 'uint256' }], - name: 'setX', + inputs: [ + { name: 'from', internalType: 'address', type: 'address' }, + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, + ], + name: 'safeTransferFrom', outputs: [], stateMutability: 'nonpayable', }, { type: 'function', inputs: [ - { name: 'x', internalType: 'uint256', type: 'uint256' }, - { name: 'y', internalType: 'uint256', type: 'uint256' }, + { name: 'from', internalType: 'address', type: 'address' }, + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, + { name: 'data', internalType: 'bytes', type: 'bytes' }, ], - name: 'two', + name: 'safeTransferFrom', outputs: [], stateMutability: 'nonpayable', }, { type: 'function', - inputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - name: 'uintArray', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - stateMutability: 'view', - }, - { - type: 'function', - inputs: [], - name: 'x', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - stateMutability: 'view', - }, - { - type: 'event', - anonymous: false, inputs: [ - { - name: 'version', - internalType: 'uint64', - type: 'uint64', - indexed: false, - }, + { name: 'operator', internalType: 'address', type: 'address' }, + { name: 'approved', internalType: 'bool', type: 'bool' }, ], - name: 'Initialized', + name: 'setApprovalForAll', + outputs: [], + stateMutability: 'nonpayable', }, - { type: 'error', inputs: [], name: 'InvalidInitialization' }, - { type: 'error', inputs: [], name: 'NotInitializing' }, -] as const - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// TestTraces -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -export const testTracesAbi = [ { type: 'function', - inputs: [], - name: 'call_get_value', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - stateMutability: 'pure', + inputs: [{ name: 'interfaceId', internalType: 'bytes4', type: 'bytes4' }], + name: 'supportsInterface', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + stateMutability: 'view', }, { type: 'function', inputs: [], - name: 'get_value', - outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], - stateMutability: 'pure', + name: 'symbol', + outputs: [{ name: '', internalType: 'string', type: 'string' }], + stateMutability: 'view', }, -] as const - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// TestTracesDelegateCallsCallee -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -export const testTracesDelegateCallsCalleeAbi = [ { type: 'function', - inputs: [], - name: 'number', + inputs: [{ name: 'index', internalType: 'uint256', type: 'uint256' }], + name: 'tokenByIndex', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], stateMutability: 'view', }, { type: 'function', - inputs: [{ name: '_number', internalType: 'uint256', type: 'uint256' }], - name: 'setNumber', - outputs: [], - stateMutability: 'nonpayable', - }, -] as const - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// TestTracesDelegateCallsCaller -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -export const testTracesDelegateCallsCallerAbi = [ - { - type: 'function', - inputs: [], - name: 'calleeAddress', - outputs: [{ name: '', internalType: 'address', type: 'address' }], + inputs: [ + { name: 'owner', internalType: 'address', type: 'address' }, + { name: 'index', internalType: 'uint256', type: 'uint256' }, + ], + name: 'tokenOfOwnerByIndex', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], stateMutability: 'view', }, { type: 'function', - inputs: [{ name: '_number', internalType: 'uint256', type: 'uint256' }], - name: 'delegateSetNumber', - outputs: [], - stateMutability: 'nonpayable', + inputs: [{ name: 'id', internalType: 'uint256', type: 'uint256' }], + name: 'tokenURI', + outputs: [{ name: '', internalType: 'string', type: 'string' }], + stateMutability: 'view', }, { type: 'function', inputs: [], - name: 'number', + name: 'totalSupply', outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], stateMutability: 'view', }, { type: 'function', inputs: [ - { name: '_calleeAddress', internalType: 'address', type: 'address' }, + { name: 'from', internalType: 'address', type: 'address' }, + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, ], - name: 'setCalleeAddress', + name: 'transferFrom', outputs: [], stateMutability: 'nonpayable', }, -] as const - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// TestTracesDelegateCallsTest -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -export const testTracesDelegateCallsTestAbi = [ - { - type: 'function', - inputs: [], - name: 'IS_TEST', - outputs: [{ name: '', internalType: 'bool', type: 'bool' }], - stateMutability: 'view', - }, { - type: 'function', - inputs: [], - name: 'excludeArtifacts', - outputs: [ + type: 'event', + anonymous: false, + inputs: [ { - name: 'excludedArtifacts_', - internalType: 'string[]', - type: 'string[]', + name: 'owner', + internalType: 'address', + type: 'address', + indexed: true, + }, + { + name: 'approved', + internalType: 'address', + type: 'address', + indexed: true, + }, + { + name: 'tokenId', + internalType: 'uint256', + type: 'uint256', + indexed: true, }, ], - stateMutability: 'view', + name: 'Approval', }, { - type: 'function', - inputs: [], - name: 'excludeContracts', - outputs: [ + type: 'event', + anonymous: false, + inputs: [ { - name: 'excludedContracts_', - internalType: 'address[]', - type: 'address[]', + name: 'owner', + internalType: 'address', + type: 'address', + indexed: true, + }, + { + name: 'operator', + internalType: 'address', + type: 'address', + indexed: true, }, + { name: 'approved', internalType: 'bool', type: 'bool', indexed: false }, ], - stateMutability: 'view', + name: 'ApprovalForAll', }, { - type: 'function', - inputs: [], - name: 'excludeSelectors', - outputs: [ + type: 'event', + anonymous: false, + inputs: [ + { name: 'from', internalType: 'address', type: 'address', indexed: true }, + { name: 'to', internalType: 'address', type: 'address', indexed: true }, { - name: 'excludedSelectors_', - internalType: 'struct StdInvariant.FuzzSelector[]', - type: 'tuple[]', - components: [ - { name: 'addr', internalType: 'address', type: 'address' }, - { name: 'selectors', internalType: 'bytes4[]', type: 'bytes4[]' }, - ], + name: 'tokenId', + internalType: 'uint256', + type: 'uint256', + indexed: true, }, ], - stateMutability: 'view', + name: 'Transfer', }, + { type: 'error', inputs: [], name: 'ERC721EnumerableForbiddenBatchMint' }, { - type: 'function', - inputs: [], - name: 'excludeSenders', - outputs: [ - { - name: 'excludedSenders_', - internalType: 'address[]', - type: 'address[]', - }, + type: 'error', + inputs: [ + { name: 'sender', internalType: 'address', type: 'address' }, + { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, + { name: 'owner', internalType: 'address', type: 'address' }, ], - stateMutability: 'view', + name: 'ERC721IncorrectOwner', }, { - type: 'function', - inputs: [], - name: 'failed', - outputs: [{ name: '', internalType: 'bool', type: 'bool' }], - stateMutability: 'view', + type: 'error', + inputs: [ + { name: 'operator', internalType: 'address', type: 'address' }, + { name: 'tokenId', internalType: 'uint256', type: 'uint256' }, + ], + name: 'ERC721InsufficientApproval', }, { - type: 'function', - inputs: [], - name: 'setUp', - outputs: [], - stateMutability: 'nonpayable', + type: 'error', + inputs: [{ name: 'approver', internalType: 'address', type: 'address' }], + name: 'ERC721InvalidApprover', }, { - type: 'function', - inputs: [], - name: 'targetArtifactSelectors', - outputs: [ - { - name: 'targetedArtifactSelectors_', - internalType: 'struct StdInvariant.FuzzArtifactSelector[]', - type: 'tuple[]', - components: [ - { name: 'artifact', internalType: 'string', type: 'string' }, - { name: 'selectors', internalType: 'bytes4[]', type: 'bytes4[]' }, - ], - }, - ], - stateMutability: 'view', + type: 'error', + inputs: [{ name: 'operator', internalType: 'address', type: 'address' }], + name: 'ERC721InvalidOperator', }, { - type: 'function', - inputs: [], - name: 'targetArtifacts', - outputs: [ - { - name: 'targetedArtifacts_', - internalType: 'string[]', - type: 'string[]', - }, - ], - stateMutability: 'view', + type: 'error', + inputs: [{ name: 'owner', internalType: 'address', type: 'address' }], + name: 'ERC721InvalidOwner', }, { - type: 'function', - inputs: [], - name: 'targetContracts', - outputs: [ - { - name: 'targetedContracts_', - internalType: 'address[]', - type: 'address[]', - }, - ], - stateMutability: 'view', + type: 'error', + inputs: [{ name: 'receiver', internalType: 'address', type: 'address' }], + name: 'ERC721InvalidReceiver', }, { - type: 'function', - inputs: [], - name: 'targetInterfaces', - outputs: [ - { - name: 'targetedInterfaces_', - internalType: 'struct StdInvariant.FuzzInterface[]', - type: 'tuple[]', - components: [ - { name: 'addr', internalType: 'address', type: 'address' }, - { name: 'artifacts', internalType: 'string[]', type: 'string[]' }, - ], - }, + type: 'error', + inputs: [{ name: 'sender', internalType: 'address', type: 'address' }], + name: 'ERC721InvalidSender', + }, + { + type: 'error', + inputs: [{ name: 'tokenId', internalType: 'uint256', type: 'uint256' }], + name: 'ERC721NonexistentToken', + }, + { + type: 'error', + inputs: [ + { name: 'owner', internalType: 'address', type: 'address' }, + { name: 'index', internalType: 'uint256', type: 'uint256' }, ], - stateMutability: 'view', + name: 'ERC721OutOfBoundsIndex', }, + { type: 'error', inputs: [], name: 'InvalidArguments' }, +] as const + +/** + * + */ +export const nftAddress = { + 31337: '0x5FbDB2315678afecb367f032d93F642f64180aa3', + 31338: '0x5FbDB2315678afecb367f032d93F642f64180aa3', +} as const + +/** + * + */ +export const nftConfig = { address: nftAddress, abi: nftAbi } as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Ownable +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const ownableAbi = [ { type: 'function', inputs: [], - name: 'targetSelectors', - outputs: [ - { - name: 'targetedSelectors_', - internalType: 'struct StdInvariant.FuzzSelector[]', - type: 'tuple[]', - components: [ - { name: 'addr', internalType: 'address', type: 'address' }, - { name: 'selectors', internalType: 'bytes4[]', type: 'bytes4[]' }, - ], - }, - ], + name: 'owner', + outputs: [{ name: '', internalType: 'address', type: 'address' }], stateMutability: 'view', }, { type: 'function', inputs: [], - name: 'targetSenders', - outputs: [ - { - name: 'targetedSenders_', - internalType: 'address[]', - type: 'address[]', - }, - ], - stateMutability: 'view', + name: 'renounceOwnership', + outputs: [], + stateMutability: 'nonpayable', }, { type: 'function', - inputs: [], - name: 'test_delegate_call', + inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }], + name: 'transferOwnership', outputs: [], stateMutability: 'nonpayable', }, @@ -3092,238 +2955,148 @@ export const testTracesDelegateCallsTestAbi = [ type: 'event', anonymous: false, inputs: [ - { name: '', internalType: 'string', type: 'string', indexed: false }, + { + name: 'previousOwner', + internalType: 'address', + type: 'address', + indexed: true, + }, + { + name: 'newOwner', + internalType: 'address', + type: 'address', + indexed: true, + }, ], - name: 'log', + name: 'OwnershipTransferred', }, { - type: 'event', - anonymous: false, - inputs: [ - { name: '', internalType: 'address', type: 'address', indexed: false }, - ], - name: 'log_address', + type: 'error', + inputs: [{ name: 'owner', internalType: 'address', type: 'address' }], + name: 'OwnableInvalidOwner', }, { - type: 'event', - anonymous: false, - inputs: [ - { - name: 'val', - internalType: 'uint256[]', - type: 'uint256[]', - indexed: false, - }, - ], - name: 'log_array', + type: 'error', + inputs: [{ name: 'account', internalType: 'address', type: 'address' }], + name: 'OwnableUnauthorizedAccount', }, +] as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// OwnedRegistry +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** + * + */ +export const ownedRegistryAbi = [ { - type: 'event', - anonymous: false, + type: 'constructor', inputs: [ - { - name: 'val', - internalType: 'int256[]', - type: 'int256[]', - indexed: false, - }, + { name: 'initialOwner', internalType: 'address', type: 'address' }, ], - name: 'log_array', + stateMutability: 'nonpayable', }, { - type: 'event', - anonymous: false, - inputs: [ - { - name: 'val', - internalType: 'address[]', - type: 'address[]', - indexed: false, - }, - ], - name: 'log_array', + type: 'function', + inputs: [], + name: 'owner', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + stateMutability: 'view', }, { - type: 'event', - anonymous: false, - inputs: [ - { name: '', internalType: 'bytes', type: 'bytes', indexed: false }, - ], - name: 'log_bytes', + type: 'function', + inputs: [], + name: 'renounceOwnership', + outputs: [], + stateMutability: 'nonpayable', }, { - type: 'event', - anonymous: false, - inputs: [ - { name: '', internalType: 'bytes32', type: 'bytes32', indexed: false }, - ], - name: 'log_bytes32', + type: 'function', + inputs: [{ name: 'newValue', internalType: 'uint256', type: 'uint256' }], + name: 'setValue', + outputs: [], + stateMutability: 'nonpayable', }, { - type: 'event', - anonymous: false, - inputs: [ - { name: '', internalType: 'int256', type: 'int256', indexed: false }, - ], - name: 'log_int', + type: 'function', + inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }], + name: 'transferOwnership', + outputs: [], + stateMutability: 'nonpayable', }, { - type: 'event', - anonymous: false, - inputs: [ - { name: 'key', internalType: 'string', type: 'string', indexed: false }, - { name: 'val', internalType: 'address', type: 'address', indexed: false }, - ], - name: 'log_named_address', + type: 'function', + inputs: [], + name: 'value', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + stateMutability: 'view', }, { type: 'event', anonymous: false, inputs: [ - { name: 'key', internalType: 'string', type: 'string', indexed: false }, { - name: 'val', - internalType: 'uint256[]', - type: 'uint256[]', - indexed: false, + name: 'previousOwner', + internalType: 'address', + type: 'address', + indexed: true, }, - ], - name: 'log_named_array', - }, - { - type: 'event', - anonymous: false, - inputs: [ - { name: 'key', internalType: 'string', type: 'string', indexed: false }, { - name: 'val', - internalType: 'int256[]', - type: 'int256[]', - indexed: false, + name: 'newOwner', + internalType: 'address', + type: 'address', + indexed: true, }, ], - name: 'log_named_array', + name: 'OwnershipTransferred', }, { type: 'event', anonymous: false, inputs: [ - { name: 'key', internalType: 'string', type: 'string', indexed: false }, { - name: 'val', - internalType: 'address[]', - type: 'address[]', + name: 'value', + internalType: 'uint256', + type: 'uint256', indexed: false, }, ], - name: 'log_named_array', + name: 'ValueSet', }, { - type: 'event', - anonymous: false, - inputs: [ - { name: 'key', internalType: 'string', type: 'string', indexed: false }, - { name: 'val', internalType: 'bytes', type: 'bytes', indexed: false }, - ], - name: 'log_named_bytes', + type: 'error', + inputs: [{ name: 'owner', internalType: 'address', type: 'address' }], + name: 'OwnableInvalidOwner', }, { - type: 'event', - anonymous: false, - inputs: [ - { name: 'key', internalType: 'string', type: 'string', indexed: false }, - { name: 'val', internalType: 'bytes32', type: 'bytes32', indexed: false }, - ], - name: 'log_named_bytes32', - }, - { - type: 'event', - anonymous: false, - inputs: [ - { name: 'key', internalType: 'string', type: 'string', indexed: false }, - { name: 'val', internalType: 'int256', type: 'int256', indexed: false }, - { - name: 'decimals', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - ], - name: 'log_named_decimal_int', - }, - { - type: 'event', - anonymous: false, - inputs: [ - { name: 'key', internalType: 'string', type: 'string', indexed: false }, - { name: 'val', internalType: 'uint256', type: 'uint256', indexed: false }, - { - name: 'decimals', - internalType: 'uint256', - type: 'uint256', - indexed: false, - }, - ], - name: 'log_named_decimal_uint', - }, - { - type: 'event', - anonymous: false, - inputs: [ - { name: 'key', internalType: 'string', type: 'string', indexed: false }, - { name: 'val', internalType: 'int256', type: 'int256', indexed: false }, - ], - name: 'log_named_int', - }, - { - type: 'event', - anonymous: false, - inputs: [ - { name: 'key', internalType: 'string', type: 'string', indexed: false }, - { name: 'val', internalType: 'string', type: 'string', indexed: false }, - ], - name: 'log_named_string', - }, - { - type: 'event', - anonymous: false, - inputs: [ - { name: 'key', internalType: 'string', type: 'string', indexed: false }, - { name: 'val', internalType: 'uint256', type: 'uint256', indexed: false }, - ], - name: 'log_named_uint', - }, - { - type: 'event', - anonymous: false, - inputs: [ - { name: '', internalType: 'string', type: 'string', indexed: false }, - ], - name: 'log_string', - }, - { - type: 'event', - anonymous: false, - inputs: [ - { name: '', internalType: 'uint256', type: 'uint256', indexed: false }, - ], - name: 'log_uint', - }, - { - type: 'event', - anonymous: false, - inputs: [ - { name: '', internalType: 'bytes', type: 'bytes', indexed: false }, - ], - name: 'logs', + type: 'error', + inputs: [{ name: 'account', internalType: 'address', type: 'address' }], + name: 'OwnableUnauthorizedAccount', }, ] as const +/** + * + */ +export const ownedRegistryAddress = { + 31337: '0x3347B4d90ebe72BeFb30444C9966B2B990aE9FcB', + 31338: '0x3347B4d90ebe72BeFb30444C9966B2B990aE9FcB', +} as const + +/** + * + */ +export const ownedRegistryConfig = { + address: ownedRegistryAddress, + abi: ownedRegistryAbi, +} as const + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// TestTracesTest +// OwnedRegistryTest ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -export const testTracesTestAbi = [ +export const ownedRegistryTestAbi = [ { type: 'function', inputs: [], @@ -3494,9 +3267,16 @@ export const testTracesTestAbi = [ { type: 'function', inputs: [], - name: 'test_call_function', + name: 'test_setValue_revertsForNonOwner', outputs: [], - stateMutability: 'view', + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [], + name: 'test_setValue_succeedsForOwner', + outputs: [], + stateMutability: 'nonpayable', }, { type: 'event', @@ -3730,14 +3510,107 @@ export const testTracesTestAbi = [ ] as const ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// Token +// Proxy +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const proxyAbi = [ + { type: 'fallback', stateMutability: 'payable' }, +] as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// ProxyAdmin +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const proxyAdminAbi = [ + { + type: 'constructor', + inputs: [ + { name: 'initialOwner', internalType: 'address', type: 'address' }, + ], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [], + name: 'UPGRADE_INTERFACE_VERSION', + outputs: [{ name: '', internalType: 'string', type: 'string' }], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'owner', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'renounceOwnership', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }], + name: 'transferOwnership', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [ + { + name: 'proxy', + internalType: 'contract ITransparentUpgradeableProxy', + type: 'address', + }, + { name: 'implementation', internalType: 'address', type: 'address' }, + { name: 'data', internalType: 'bytes', type: 'bytes' }, + ], + name: 'upgradeAndCall', + outputs: [], + stateMutability: 'payable', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { + name: 'previousOwner', + internalType: 'address', + type: 'address', + indexed: true, + }, + { + name: 'newOwner', + internalType: 'address', + type: 'address', + indexed: true, + }, + ], + name: 'OwnershipTransferred', + }, + { + type: 'error', + inputs: [{ name: 'owner', internalType: 'address', type: 'address' }], + name: 'OwnableInvalidOwner', + }, + { + type: 'error', + inputs: [{ name: 'account', internalType: 'address', type: 'address' }], + name: 'OwnableUnauthorizedAccount', + }, +] as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// SixDecimalToken ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * */ -export const tokenAbi = [ - { type: 'constructor', inputs: [], stateMutability: 'nonpayable' }, +export const sixDecimalTokenAbi = [ { type: 'function', inputs: [ @@ -3765,22 +3638,12 @@ export const tokenAbi = [ outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], stateMutability: 'view', }, - { - type: 'function', - inputs: [ - { name: 'from', internalType: 'address', type: 'address' }, - { name: 'amount', internalType: 'uint256', type: 'uint256' }, - ], - name: 'burn', - outputs: [], - stateMutability: 'nonpayable', - }, { type: 'function', inputs: [], name: 'decimals', outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }], - stateMutability: 'view', + stateMutability: 'pure', }, { type: 'function', @@ -3917,4374 +3780,8944 @@ export const tokenAbi = [ /** * */ -export const tokenAddress = { - 31337: '0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512', - 31338: '0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512', +export const sixDecimalTokenAddress = { + 31337: '0xaca81583840B1bf2dDF6CDe824ada250C1936B4D', + 31338: '0xaca81583840B1bf2dDF6CDe824ada250C1936B4D', } as const /** * */ -export const tokenConfig = { address: tokenAddress, abi: tokenAbi } as const +export const sixDecimalTokenConfig = { + address: sixDecimalTokenAddress, + abi: sixDecimalTokenAbi, +} as const ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// TransparentUpgradeableProxy +// SixDecimalTokenTest ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -export const transparentUpgradeableProxyAbi = [ +export const sixDecimalTokenTestAbi = [ { - type: 'constructor', - inputs: [ - { name: '_logic', internalType: 'address', type: 'address' }, - { name: 'initialOwner', internalType: 'address', type: 'address' }, - { name: '_data', internalType: 'bytes', type: 'bytes' }, - ], - stateMutability: 'payable', + type: 'function', + inputs: [], + name: 'IS_TEST', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + stateMutability: 'view', }, - { type: 'fallback', stateMutability: 'payable' }, { - type: 'event', - anonymous: false, - inputs: [ + type: 'function', + inputs: [], + name: 'excludeArtifacts', + outputs: [ { - name: 'previousAdmin', - internalType: 'address', - type: 'address', - indexed: false, + name: 'excludedArtifacts_', + internalType: 'string[]', + type: 'string[]', }, - { - name: 'newAdmin', - internalType: 'address', - type: 'address', - indexed: false, + ], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'excludeContracts', + outputs: [ + { + name: 'excludedContracts_', + internalType: 'address[]', + type: 'address[]', }, ], - name: 'AdminChanged', + stateMutability: 'view', }, { - type: 'event', - anonymous: false, - inputs: [ + type: 'function', + inputs: [], + name: 'excludeSelectors', + outputs: [ { - name: 'implementation', - internalType: 'address', - type: 'address', - indexed: true, + name: 'excludedSelectors_', + internalType: 'struct StdInvariant.FuzzSelector[]', + type: 'tuple[]', + components: [ + { name: 'addr', internalType: 'address', type: 'address' }, + { name: 'selectors', internalType: 'bytes4[]', type: 'bytes4[]' }, + ], }, ], - name: 'Upgraded', + stateMutability: 'view', }, { - type: 'error', - inputs: [{ name: 'target', internalType: 'address', type: 'address' }], - name: 'AddressEmptyCode', + type: 'function', + inputs: [], + name: 'excludeSenders', + outputs: [ + { + name: 'excludedSenders_', + internalType: 'address[]', + type: 'address[]', + }, + ], + stateMutability: 'view', }, { - type: 'error', - inputs: [{ name: 'admin', internalType: 'address', type: 'address' }], - name: 'ERC1967InvalidAdmin', + type: 'function', + inputs: [], + name: 'failed', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + stateMutability: 'view', }, { - type: 'error', - inputs: [ - { name: 'implementation', internalType: 'address', type: 'address' }, + type: 'function', + inputs: [], + name: 'setUp', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [], + name: 'targetArtifactSelectors', + outputs: [ + { + name: 'targetedArtifactSelectors_', + internalType: 'struct StdInvariant.FuzzArtifactSelector[]', + type: 'tuple[]', + components: [ + { name: 'artifact', internalType: 'string', type: 'string' }, + { name: 'selectors', internalType: 'bytes4[]', type: 'bytes4[]' }, + ], + }, ], - name: 'ERC1967InvalidImplementation', + stateMutability: 'view', }, - { type: 'error', inputs: [], name: 'ERC1967NonPayable' }, - { type: 'error', inputs: [], name: 'FailedInnerCall' }, - { type: 'error', inputs: [], name: 'ProxyDeniedAdminAccess' }, -] as const - -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// UpgradeableBeacon -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - -export const upgradeableBeaconAbi = [ { - type: 'constructor', - inputs: [ - { name: 'implementation_', internalType: 'address', type: 'address' }, - { name: 'initialOwner', internalType: 'address', type: 'address' }, + type: 'function', + inputs: [], + name: 'targetArtifacts', + outputs: [ + { + name: 'targetedArtifacts_', + internalType: 'string[]', + type: 'string[]', + }, ], - stateMutability: 'nonpayable', + stateMutability: 'view', }, { type: 'function', inputs: [], - name: 'implementation', - outputs: [{ name: '', internalType: 'address', type: 'address' }], + name: 'targetContracts', + outputs: [ + { + name: 'targetedContracts_', + internalType: 'address[]', + type: 'address[]', + }, + ], stateMutability: 'view', }, { type: 'function', inputs: [], - name: 'owner', - outputs: [{ name: '', internalType: 'address', type: 'address' }], + name: 'targetInterfaces', + outputs: [ + { + name: 'targetedInterfaces_', + internalType: 'struct StdInvariant.FuzzInterface[]', + type: 'tuple[]', + components: [ + { name: 'addr', internalType: 'address', type: 'address' }, + { name: 'artifacts', internalType: 'string[]', type: 'string[]' }, + ], + }, + ], stateMutability: 'view', }, { type: 'function', inputs: [], - name: 'renounceOwnership', + name: 'targetSelectors', + outputs: [ + { + name: 'targetedSelectors_', + internalType: 'struct StdInvariant.FuzzSelector[]', + type: 'tuple[]', + components: [ + { name: 'addr', internalType: 'address', type: 'address' }, + { name: 'selectors', internalType: 'bytes4[]', type: 'bytes4[]' }, + ], + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'targetSenders', + outputs: [ + { + name: 'targetedSenders_', + internalType: 'address[]', + type: 'address[]', + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'test_decimals_isSix', outputs: [], - stateMutability: 'nonpayable', + stateMutability: 'view', }, { type: 'function', - inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }], - name: 'transferOwnership', + inputs: [], + name: 'test_transfer_revertsWhenAmountUsesEighteenDecimals', outputs: [], stateMutability: 'nonpayable', }, { - type: 'function', + type: 'event', + anonymous: false, inputs: [ - { name: 'newImplementation', internalType: 'address', type: 'address' }, + { name: '', internalType: 'string', type: 'string', indexed: false }, ], - name: 'upgradeTo', - outputs: [], - stateMutability: 'nonpayable', + name: 'log', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: '', internalType: 'address', type: 'address', indexed: false }, + ], + name: 'log_address', }, { type: 'event', anonymous: false, inputs: [ { - name: 'previousOwner', - internalType: 'address', - type: 'address', - indexed: true, + name: 'val', + internalType: 'uint256[]', + type: 'uint256[]', + indexed: false, }, + ], + name: 'log_array', + }, + { + type: 'event', + anonymous: false, + inputs: [ { - name: 'newOwner', - internalType: 'address', - type: 'address', - indexed: true, + name: 'val', + internalType: 'int256[]', + type: 'int256[]', + indexed: false, }, ], - name: 'OwnershipTransferred', + name: 'log_array', }, { type: 'event', anonymous: false, inputs: [ { - name: 'implementation', - internalType: 'address', - type: 'address', - indexed: true, + name: 'val', + internalType: 'address[]', + type: 'address[]', + indexed: false, }, ], - name: 'Upgraded', + name: 'log_array', }, { - type: 'error', + type: 'event', + anonymous: false, inputs: [ - { name: 'implementation', internalType: 'address', type: 'address' }, + { name: '', internalType: 'bytes', type: 'bytes', indexed: false }, ], - name: 'BeaconInvalidImplementation', + name: 'log_bytes', }, { - type: 'error', - inputs: [{ name: 'owner', internalType: 'address', type: 'address' }], - name: 'OwnableInvalidOwner', + type: 'event', + anonymous: false, + inputs: [ + { name: '', internalType: 'bytes32', type: 'bytes32', indexed: false }, + ], + name: 'log_bytes32', }, { - type: 'error', - inputs: [{ name: 'account', internalType: 'address', type: 'address' }], - name: 'OwnableUnauthorizedAccount', + type: 'event', + anonymous: false, + inputs: [ + { name: '', internalType: 'int256', type: 'int256', indexed: false }, + ], + name: 'log_int', }, -] as const + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { name: 'val', internalType: 'address', type: 'address', indexed: false }, + ], + name: 'log_named_address', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { + name: 'val', + internalType: 'uint256[]', + type: 'uint256[]', + indexed: false, + }, + ], + name: 'log_named_array', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { + name: 'val', + internalType: 'int256[]', + type: 'int256[]', + indexed: false, + }, + ], + name: 'log_named_array', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { + name: 'val', + internalType: 'address[]', + type: 'address[]', + indexed: false, + }, + ], + name: 'log_named_array', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { name: 'val', internalType: 'bytes', type: 'bytes', indexed: false }, + ], + name: 'log_named_bytes', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { name: 'val', internalType: 'bytes32', type: 'bytes32', indexed: false }, + ], + name: 'log_named_bytes32', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { name: 'val', internalType: 'int256', type: 'int256', indexed: false }, + { + name: 'decimals', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + ], + name: 'log_named_decimal_int', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { name: 'val', internalType: 'uint256', type: 'uint256', indexed: false }, + { + name: 'decimals', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + ], + name: 'log_named_decimal_uint', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { name: 'val', internalType: 'int256', type: 'int256', indexed: false }, + ], + name: 'log_named_int', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { name: 'val', internalType: 'string', type: 'string', indexed: false }, + ], + name: 'log_named_string', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { name: 'val', internalType: 'uint256', type: 'uint256', indexed: false }, + ], + name: 'log_named_uint', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: '', internalType: 'string', type: 'string', indexed: false }, + ], + name: 'log_string', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: '', internalType: 'uint256', type: 'uint256', indexed: false }, + ], + name: 'log_uint', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: '', internalType: 'bytes', type: 'bytes', indexed: false }, + ], + name: 'logs', + }, +] as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Strings +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const stringsAbi = [ + { + type: 'error', + inputs: [ + { name: 'value', internalType: 'uint256', type: 'uint256' }, + { name: 'length', internalType: 'uint256', type: 'uint256' }, + ], + name: 'StringsInsufficientHexLength', + }, +] as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// TestCalls +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** + * + */ +export const testCallsAbi = [ + { type: 'fallback', stateMutability: 'nonpayable' }, + { + type: 'function', + inputs: [ + { name: '_amount', internalType: 'uint256', type: 'uint256' }, + { name: '_proof', internalType: 'string[]', type: 'string[]' }, + ], + name: 'buy', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [{ name: 'v', internalType: 'bytes', type: 'bytes' }], + name: 'call_bytes', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [{ name: 'v', internalType: 'bytes32', type: 'bytes32' }], + name: 'call_bytes32', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [{ name: 'v', internalType: 'bytes[]', type: 'bytes[]' }], + name: 'call_bytes32Array', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [{ name: 'v', internalType: 'bytes32[]', type: 'bytes32[]' }], + name: 'call_bytesArray', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [], + name: 'call_empty', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [ + { + name: 'v', + internalType: 'struct TestCalls.Struct2', + type: 'tuple', + components: [ + { name: 'a', internalType: 'address', type: 'address' }, + { + name: 's', + internalType: 'struct TestCalls.Struct', + type: 'tuple', + components: [ + { name: 'n', internalType: 'string', type: 'string' }, + { name: 'v', internalType: 'uint256', type: 'uint256' }, + ], + }, + ], + }, + ], + name: 'call_nestedStruct', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [{ name: 'v', internalType: 'string', type: 'string' }], + name: 'call_string', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [{ name: 'v', internalType: 'string[]', type: 'string[]' }], + name: 'call_stringArray', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [ + { + name: 'v', + internalType: 'struct TestCalls.Struct', + type: 'tuple', + components: [ + { name: 'n', internalType: 'string', type: 'string' }, + { name: 'v', internalType: 'uint256', type: 'uint256' }, + ], + }, + ], + name: 'call_struct', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [{ name: 'v', internalType: 'uint256', type: 'uint256' }], + name: 'call_uint', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [{ name: 'v', internalType: 'uint256[]', type: 'uint256[]' }], + name: 'call_uintArray', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [{ name: 'v', internalType: 'uint256[2]', type: 'uint256[2]' }], + name: 'call_uintArraySpecificLength', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [{ name: 'v', internalType: 'uint256[][]', type: 'uint256[][]' }], + name: 'call_uintNestedArray', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [], + name: 'length_uintArry', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + stateMutability: 'pure', + }, + { + type: 'function', + inputs: [{ name: 'v', internalType: 'uint256', type: 'uint256' }], + name: 'pay', + outputs: [], + stateMutability: 'payable', + }, + { + type: 'function', + inputs: [ + { name: 'x', internalType: 'uint256', type: 'uint256' }, + { name: 'y', internalType: 'uint256', type: 'uint256' }, + ], + name: 'two', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + name: 'uintArray', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + stateMutability: 'view', + }, +] as const + +/** + * + */ +export const testCallsAddress = { + 31337: '0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0', + 31338: '0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0', +} as const + +/** + * + */ +export const testCallsConfig = { + address: testCallsAddress, + abi: testCallsAbi, +} as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// TestCallsUpgradeable +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const testCallsUpgradeableAbi = [ + { type: 'fallback', stateMutability: 'nonpayable' }, + { + type: 'function', + inputs: [ + { name: '_amount', internalType: 'uint256', type: 'uint256' }, + { name: '_proof', internalType: 'string[]', type: 'string[]' }, + ], + name: 'buy', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [{ name: 'v', internalType: 'bytes', type: 'bytes' }], + name: 'call_bytes', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [{ name: 'v', internalType: 'bytes32', type: 'bytes32' }], + name: 'call_bytes32', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [{ name: 'v', internalType: 'bytes[]', type: 'bytes[]' }], + name: 'call_bytes32Array', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [{ name: 'v', internalType: 'bytes32[]', type: 'bytes32[]' }], + name: 'call_bytesArray', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [], + name: 'call_empty', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [ + { + name: 'v', + internalType: 'struct TestCalls.Struct2', + type: 'tuple', + components: [ + { name: 'a', internalType: 'address', type: 'address' }, + { + name: 's', + internalType: 'struct TestCalls.Struct', + type: 'tuple', + components: [ + { name: 'n', internalType: 'string', type: 'string' }, + { name: 'v', internalType: 'uint256', type: 'uint256' }, + ], + }, + ], + }, + ], + name: 'call_nestedStruct', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [{ name: 'v', internalType: 'string', type: 'string' }], + name: 'call_string', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [{ name: 'v', internalType: 'string[]', type: 'string[]' }], + name: 'call_stringArray', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [ + { + name: 'v', + internalType: 'struct TestCalls.Struct', + type: 'tuple', + components: [ + { name: 'n', internalType: 'string', type: 'string' }, + { name: 'v', internalType: 'uint256', type: 'uint256' }, + ], + }, + ], + name: 'call_struct', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [{ name: 'v', internalType: 'uint256', type: 'uint256' }], + name: 'call_uint', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [{ name: 'v', internalType: 'uint256[]', type: 'uint256[]' }], + name: 'call_uintArray', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [{ name: 'v', internalType: 'uint256[2]', type: 'uint256[2]' }], + name: 'call_uintArraySpecificLength', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [{ name: 'v', internalType: 'uint256[][]', type: 'uint256[][]' }], + name: 'call_uintNestedArray', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [], + name: 'initialize', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [], + name: 'length_uintArry', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + stateMutability: 'pure', + }, + { + type: 'function', + inputs: [{ name: 'v', internalType: 'uint256', type: 'uint256' }], + name: 'pay', + outputs: [], + stateMutability: 'payable', + }, + { + type: 'function', + inputs: [{ name: '_x', internalType: 'uint256', type: 'uint256' }], + name: 'setX', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [ + { name: 'x', internalType: 'uint256', type: 'uint256' }, + { name: 'y', internalType: 'uint256', type: 'uint256' }, + ], + name: 'two', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + name: 'uintArray', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'x', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { + name: 'version', + internalType: 'uint64', + type: 'uint64', + indexed: false, + }, + ], + name: 'Initialized', + }, + { type: 'error', inputs: [], name: 'InvalidInitialization' }, + { type: 'error', inputs: [], name: 'NotInitializing' }, +] as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// TestTraces +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const testTracesAbi = [ + { + type: 'function', + inputs: [], + name: 'call_get_value', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + stateMutability: 'pure', + }, + { + type: 'function', + inputs: [], + name: 'get_value', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + stateMutability: 'pure', + }, +] as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// TestTracesDelegateCallsCallee +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const testTracesDelegateCallsCalleeAbi = [ + { + type: 'function', + inputs: [], + name: 'number', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [{ name: '_number', internalType: 'uint256', type: 'uint256' }], + name: 'setNumber', + outputs: [], + stateMutability: 'nonpayable', + }, +] as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// TestTracesDelegateCallsCaller +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const testTracesDelegateCallsCallerAbi = [ + { + type: 'function', + inputs: [], + name: 'calleeAddress', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [{ name: '_number', internalType: 'uint256', type: 'uint256' }], + name: 'delegateSetNumber', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [], + name: 'number', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [ + { name: '_calleeAddress', internalType: 'address', type: 'address' }, + ], + name: 'setCalleeAddress', + outputs: [], + stateMutability: 'nonpayable', + }, +] as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// TestTracesDelegateCallsTest +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const testTracesDelegateCallsTestAbi = [ + { + type: 'function', + inputs: [], + name: 'IS_TEST', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'excludeArtifacts', + outputs: [ + { + name: 'excludedArtifacts_', + internalType: 'string[]', + type: 'string[]', + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'excludeContracts', + outputs: [ + { + name: 'excludedContracts_', + internalType: 'address[]', + type: 'address[]', + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'excludeSelectors', + outputs: [ + { + name: 'excludedSelectors_', + internalType: 'struct StdInvariant.FuzzSelector[]', + type: 'tuple[]', + components: [ + { name: 'addr', internalType: 'address', type: 'address' }, + { name: 'selectors', internalType: 'bytes4[]', type: 'bytes4[]' }, + ], + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'excludeSenders', + outputs: [ + { + name: 'excludedSenders_', + internalType: 'address[]', + type: 'address[]', + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'failed', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'setUp', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [], + name: 'targetArtifactSelectors', + outputs: [ + { + name: 'targetedArtifactSelectors_', + internalType: 'struct StdInvariant.FuzzArtifactSelector[]', + type: 'tuple[]', + components: [ + { name: 'artifact', internalType: 'string', type: 'string' }, + { name: 'selectors', internalType: 'bytes4[]', type: 'bytes4[]' }, + ], + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'targetArtifacts', + outputs: [ + { + name: 'targetedArtifacts_', + internalType: 'string[]', + type: 'string[]', + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'targetContracts', + outputs: [ + { + name: 'targetedContracts_', + internalType: 'address[]', + type: 'address[]', + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'targetInterfaces', + outputs: [ + { + name: 'targetedInterfaces_', + internalType: 'struct StdInvariant.FuzzInterface[]', + type: 'tuple[]', + components: [ + { name: 'addr', internalType: 'address', type: 'address' }, + { name: 'artifacts', internalType: 'string[]', type: 'string[]' }, + ], + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'targetSelectors', + outputs: [ + { + name: 'targetedSelectors_', + internalType: 'struct StdInvariant.FuzzSelector[]', + type: 'tuple[]', + components: [ + { name: 'addr', internalType: 'address', type: 'address' }, + { name: 'selectors', internalType: 'bytes4[]', type: 'bytes4[]' }, + ], + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'targetSenders', + outputs: [ + { + name: 'targetedSenders_', + internalType: 'address[]', + type: 'address[]', + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'test_delegate_call', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: '', internalType: 'string', type: 'string', indexed: false }, + ], + name: 'log', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: '', internalType: 'address', type: 'address', indexed: false }, + ], + name: 'log_address', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { + name: 'val', + internalType: 'uint256[]', + type: 'uint256[]', + indexed: false, + }, + ], + name: 'log_array', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { + name: 'val', + internalType: 'int256[]', + type: 'int256[]', + indexed: false, + }, + ], + name: 'log_array', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { + name: 'val', + internalType: 'address[]', + type: 'address[]', + indexed: false, + }, + ], + name: 'log_array', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: '', internalType: 'bytes', type: 'bytes', indexed: false }, + ], + name: 'log_bytes', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: '', internalType: 'bytes32', type: 'bytes32', indexed: false }, + ], + name: 'log_bytes32', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: '', internalType: 'int256', type: 'int256', indexed: false }, + ], + name: 'log_int', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { name: 'val', internalType: 'address', type: 'address', indexed: false }, + ], + name: 'log_named_address', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { + name: 'val', + internalType: 'uint256[]', + type: 'uint256[]', + indexed: false, + }, + ], + name: 'log_named_array', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { + name: 'val', + internalType: 'int256[]', + type: 'int256[]', + indexed: false, + }, + ], + name: 'log_named_array', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { + name: 'val', + internalType: 'address[]', + type: 'address[]', + indexed: false, + }, + ], + name: 'log_named_array', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { name: 'val', internalType: 'bytes', type: 'bytes', indexed: false }, + ], + name: 'log_named_bytes', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { name: 'val', internalType: 'bytes32', type: 'bytes32', indexed: false }, + ], + name: 'log_named_bytes32', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { name: 'val', internalType: 'int256', type: 'int256', indexed: false }, + { + name: 'decimals', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + ], + name: 'log_named_decimal_int', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { name: 'val', internalType: 'uint256', type: 'uint256', indexed: false }, + { + name: 'decimals', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + ], + name: 'log_named_decimal_uint', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { name: 'val', internalType: 'int256', type: 'int256', indexed: false }, + ], + name: 'log_named_int', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { name: 'val', internalType: 'string', type: 'string', indexed: false }, + ], + name: 'log_named_string', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { name: 'val', internalType: 'uint256', type: 'uint256', indexed: false }, + ], + name: 'log_named_uint', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: '', internalType: 'string', type: 'string', indexed: false }, + ], + name: 'log_string', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: '', internalType: 'uint256', type: 'uint256', indexed: false }, + ], + name: 'log_uint', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: '', internalType: 'bytes', type: 'bytes', indexed: false }, + ], + name: 'logs', + }, +] as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// TestTracesTest +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const testTracesTestAbi = [ + { + type: 'function', + inputs: [], + name: 'IS_TEST', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'excludeArtifacts', + outputs: [ + { + name: 'excludedArtifacts_', + internalType: 'string[]', + type: 'string[]', + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'excludeContracts', + outputs: [ + { + name: 'excludedContracts_', + internalType: 'address[]', + type: 'address[]', + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'excludeSelectors', + outputs: [ + { + name: 'excludedSelectors_', + internalType: 'struct StdInvariant.FuzzSelector[]', + type: 'tuple[]', + components: [ + { name: 'addr', internalType: 'address', type: 'address' }, + { name: 'selectors', internalType: 'bytes4[]', type: 'bytes4[]' }, + ], + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'excludeSenders', + outputs: [ + { + name: 'excludedSenders_', + internalType: 'address[]', + type: 'address[]', + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'failed', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'setUp', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [], + name: 'targetArtifactSelectors', + outputs: [ + { + name: 'targetedArtifactSelectors_', + internalType: 'struct StdInvariant.FuzzArtifactSelector[]', + type: 'tuple[]', + components: [ + { name: 'artifact', internalType: 'string', type: 'string' }, + { name: 'selectors', internalType: 'bytes4[]', type: 'bytes4[]' }, + ], + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'targetArtifacts', + outputs: [ + { + name: 'targetedArtifacts_', + internalType: 'string[]', + type: 'string[]', + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'targetContracts', + outputs: [ + { + name: 'targetedContracts_', + internalType: 'address[]', + type: 'address[]', + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'targetInterfaces', + outputs: [ + { + name: 'targetedInterfaces_', + internalType: 'struct StdInvariant.FuzzInterface[]', + type: 'tuple[]', + components: [ + { name: 'addr', internalType: 'address', type: 'address' }, + { name: 'artifacts', internalType: 'string[]', type: 'string[]' }, + ], + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'targetSelectors', + outputs: [ + { + name: 'targetedSelectors_', + internalType: 'struct StdInvariant.FuzzSelector[]', + type: 'tuple[]', + components: [ + { name: 'addr', internalType: 'address', type: 'address' }, + { name: 'selectors', internalType: 'bytes4[]', type: 'bytes4[]' }, + ], + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'targetSenders', + outputs: [ + { + name: 'targetedSenders_', + internalType: 'address[]', + type: 'address[]', + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'test_call_function', + outputs: [], + stateMutability: 'view', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: '', internalType: 'string', type: 'string', indexed: false }, + ], + name: 'log', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: '', internalType: 'address', type: 'address', indexed: false }, + ], + name: 'log_address', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { + name: 'val', + internalType: 'uint256[]', + type: 'uint256[]', + indexed: false, + }, + ], + name: 'log_array', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { + name: 'val', + internalType: 'int256[]', + type: 'int256[]', + indexed: false, + }, + ], + name: 'log_array', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { + name: 'val', + internalType: 'address[]', + type: 'address[]', + indexed: false, + }, + ], + name: 'log_array', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: '', internalType: 'bytes', type: 'bytes', indexed: false }, + ], + name: 'log_bytes', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: '', internalType: 'bytes32', type: 'bytes32', indexed: false }, + ], + name: 'log_bytes32', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: '', internalType: 'int256', type: 'int256', indexed: false }, + ], + name: 'log_int', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { name: 'val', internalType: 'address', type: 'address', indexed: false }, + ], + name: 'log_named_address', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { + name: 'val', + internalType: 'uint256[]', + type: 'uint256[]', + indexed: false, + }, + ], + name: 'log_named_array', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { + name: 'val', + internalType: 'int256[]', + type: 'int256[]', + indexed: false, + }, + ], + name: 'log_named_array', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { + name: 'val', + internalType: 'address[]', + type: 'address[]', + indexed: false, + }, + ], + name: 'log_named_array', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { name: 'val', internalType: 'bytes', type: 'bytes', indexed: false }, + ], + name: 'log_named_bytes', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { name: 'val', internalType: 'bytes32', type: 'bytes32', indexed: false }, + ], + name: 'log_named_bytes32', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { name: 'val', internalType: 'int256', type: 'int256', indexed: false }, + { + name: 'decimals', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + ], + name: 'log_named_decimal_int', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { name: 'val', internalType: 'uint256', type: 'uint256', indexed: false }, + { + name: 'decimals', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + ], + name: 'log_named_decimal_uint', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { name: 'val', internalType: 'int256', type: 'int256', indexed: false }, + ], + name: 'log_named_int', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { name: 'val', internalType: 'string', type: 'string', indexed: false }, + ], + name: 'log_named_string', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { name: 'val', internalType: 'uint256', type: 'uint256', indexed: false }, + ], + name: 'log_named_uint', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: '', internalType: 'string', type: 'string', indexed: false }, + ], + name: 'log_string', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: '', internalType: 'uint256', type: 'uint256', indexed: false }, + ], + name: 'log_uint', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: '', internalType: 'bytes', type: 'bytes', indexed: false }, + ], + name: 'logs', + }, +] as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Token +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** + * + */ +export const tokenAbi = [ + { type: 'constructor', inputs: [], stateMutability: 'nonpayable' }, + { + type: 'function', + inputs: [ + { name: 'owner', internalType: 'address', type: 'address' }, + { name: 'spender', internalType: 'address', type: 'address' }, + ], + name: 'allowance', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [ + { name: 'spender', internalType: 'address', type: 'address' }, + { name: 'value', internalType: 'uint256', type: 'uint256' }, + ], + name: 'approve', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [{ name: 'account', internalType: 'address', type: 'address' }], + name: 'balanceOf', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [ + { name: 'from', internalType: 'address', type: 'address' }, + { name: 'amount', internalType: 'uint256', type: 'uint256' }, + ], + name: 'burn', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [], + name: 'decimals', + outputs: [{ name: '', internalType: 'uint8', type: 'uint8' }], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [ + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'amount', internalType: 'uint256', type: 'uint256' }, + ], + name: 'mint', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [], + name: 'name', + outputs: [{ name: '', internalType: 'string', type: 'string' }], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'symbol', + outputs: [{ name: '', internalType: 'string', type: 'string' }], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'totalSupply', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [ + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'value', internalType: 'uint256', type: 'uint256' }, + ], + name: 'transfer', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [ + { name: 'from', internalType: 'address', type: 'address' }, + { name: 'to', internalType: 'address', type: 'address' }, + { name: 'value', internalType: 'uint256', type: 'uint256' }, + ], + name: 'transferFrom', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + stateMutability: 'nonpayable', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { + name: 'owner', + internalType: 'address', + type: 'address', + indexed: true, + }, + { + name: 'spender', + internalType: 'address', + type: 'address', + indexed: true, + }, + { + name: 'value', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + ], + name: 'Approval', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'from', internalType: 'address', type: 'address', indexed: true }, + { name: 'to', internalType: 'address', type: 'address', indexed: true }, + { + name: 'value', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + ], + name: 'Transfer', + }, + { + type: 'error', + inputs: [ + { name: 'spender', internalType: 'address', type: 'address' }, + { name: 'allowance', internalType: 'uint256', type: 'uint256' }, + { name: 'needed', internalType: 'uint256', type: 'uint256' }, + ], + name: 'ERC20InsufficientAllowance', + }, + { + type: 'error', + inputs: [ + { name: 'sender', internalType: 'address', type: 'address' }, + { name: 'balance', internalType: 'uint256', type: 'uint256' }, + { name: 'needed', internalType: 'uint256', type: 'uint256' }, + ], + name: 'ERC20InsufficientBalance', + }, + { + type: 'error', + inputs: [{ name: 'approver', internalType: 'address', type: 'address' }], + name: 'ERC20InvalidApprover', + }, + { + type: 'error', + inputs: [{ name: 'receiver', internalType: 'address', type: 'address' }], + name: 'ERC20InvalidReceiver', + }, + { + type: 'error', + inputs: [{ name: 'sender', internalType: 'address', type: 'address' }], + name: 'ERC20InvalidSender', + }, + { + type: 'error', + inputs: [{ name: 'spender', internalType: 'address', type: 'address' }], + name: 'ERC20InvalidSpender', + }, +] as const + +/** + * + */ +export const tokenAddress = { + 31337: '0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512', + 31338: '0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512', +} as const + +/** + * + */ +export const tokenConfig = { address: tokenAddress, abi: tokenAbi } as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// TransparentUpgradeableProxy +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const transparentUpgradeableProxyAbi = [ + { + type: 'constructor', + inputs: [ + { name: '_logic', internalType: 'address', type: 'address' }, + { name: 'initialOwner', internalType: 'address', type: 'address' }, + { name: '_data', internalType: 'bytes', type: 'bytes' }, + ], + stateMutability: 'payable', + }, + { type: 'fallback', stateMutability: 'payable' }, + { + type: 'event', + anonymous: false, + inputs: [ + { + name: 'previousAdmin', + internalType: 'address', + type: 'address', + indexed: false, + }, + { + name: 'newAdmin', + internalType: 'address', + type: 'address', + indexed: false, + }, + ], + name: 'AdminChanged', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { + name: 'implementation', + internalType: 'address', + type: 'address', + indexed: true, + }, + ], + name: 'Upgraded', + }, + { + type: 'error', + inputs: [{ name: 'target', internalType: 'address', type: 'address' }], + name: 'AddressEmptyCode', + }, + { + type: 'error', + inputs: [{ name: 'admin', internalType: 'address', type: 'address' }], + name: 'ERC1967InvalidAdmin', + }, + { + type: 'error', + inputs: [ + { name: 'implementation', internalType: 'address', type: 'address' }, + ], + name: 'ERC1967InvalidImplementation', + }, + { type: 'error', inputs: [], name: 'ERC1967NonPayable' }, + { type: 'error', inputs: [], name: 'FailedInnerCall' }, + { type: 'error', inputs: [], name: 'ProxyDeniedAdminAccess' }, +] as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// UpgradeableBeacon +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const upgradeableBeaconAbi = [ + { + type: 'constructor', + inputs: [ + { name: 'implementation_', internalType: 'address', type: 'address' }, + { name: 'initialOwner', internalType: 'address', type: 'address' }, + ], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [], + name: 'implementation', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'owner', + outputs: [{ name: '', internalType: 'address', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'renounceOwnership', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [{ name: 'newOwner', internalType: 'address', type: 'address' }], + name: 'transferOwnership', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [ + { name: 'newImplementation', internalType: 'address', type: 'address' }, + ], + name: 'upgradeTo', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { + name: 'previousOwner', + internalType: 'address', + type: 'address', + indexed: true, + }, + { + name: 'newOwner', + internalType: 'address', + type: 'address', + indexed: true, + }, + ], + name: 'OwnershipTransferred', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { + name: 'implementation', + internalType: 'address', + type: 'address', + indexed: true, + }, + ], + name: 'Upgraded', + }, + { + type: 'error', + inputs: [ + { name: 'implementation', internalType: 'address', type: 'address' }, + ], + name: 'BeaconInvalidImplementation', + }, + { + type: 'error', + inputs: [{ name: 'owner', internalType: 'address', type: 'address' }], + name: 'OwnableInvalidOwner', + }, + { + type: 'error', + inputs: [{ name: 'account', internalType: 'address', type: 'address' }], + name: 'OwnableUnauthorizedAccount', + }, +] as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Vault +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** + * + */ +export const vaultAbi = [ + { + type: 'constructor', + inputs: [ + { name: 'token_', internalType: 'contract IERC20', type: 'address' }, + ], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [{ name: 'amount', internalType: 'uint256', type: 'uint256' }], + name: 'deposit', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [{ name: '', internalType: 'address', type: 'address' }], + name: 'deposits', + outputs: [{ name: '', internalType: 'uint256', type: 'uint256' }], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'token', + outputs: [{ name: '', internalType: 'contract IERC20', type: 'address' }], + stateMutability: 'view', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'from', internalType: 'address', type: 'address', indexed: true }, + { + name: 'amount', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + ], + name: 'Deposited', + }, +] as const + +/** + * + */ +export const vaultAddress = { + 31337: '0x2d13826359803522cCe7a4Cfa2c1b582303DD0B4', + 31338: '0x2d13826359803522cCe7a4Cfa2c1b582303DD0B4', +} as const + +/** + * + */ +export const vaultConfig = { address: vaultAddress, abi: vaultAbi } as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// VaultTest +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const vaultTestAbi = [ + { + type: 'function', + inputs: [], + name: 'IS_TEST', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'excludeArtifacts', + outputs: [ + { + name: 'excludedArtifacts_', + internalType: 'string[]', + type: 'string[]', + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'excludeContracts', + outputs: [ + { + name: 'excludedContracts_', + internalType: 'address[]', + type: 'address[]', + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'excludeSelectors', + outputs: [ + { + name: 'excludedSelectors_', + internalType: 'struct StdInvariant.FuzzSelector[]', + type: 'tuple[]', + components: [ + { name: 'addr', internalType: 'address', type: 'address' }, + { name: 'selectors', internalType: 'bytes4[]', type: 'bytes4[]' }, + ], + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'excludeSenders', + outputs: [ + { + name: 'excludedSenders_', + internalType: 'address[]', + type: 'address[]', + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'failed', + outputs: [{ name: '', internalType: 'bool', type: 'bool' }], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'setUp', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [], + name: 'targetArtifactSelectors', + outputs: [ + { + name: 'targetedArtifactSelectors_', + internalType: 'struct StdInvariant.FuzzArtifactSelector[]', + type: 'tuple[]', + components: [ + { name: 'artifact', internalType: 'string', type: 'string' }, + { name: 'selectors', internalType: 'bytes4[]', type: 'bytes4[]' }, + ], + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'targetArtifacts', + outputs: [ + { + name: 'targetedArtifacts_', + internalType: 'string[]', + type: 'string[]', + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'targetContracts', + outputs: [ + { + name: 'targetedContracts_', + internalType: 'address[]', + type: 'address[]', + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'targetInterfaces', + outputs: [ + { + name: 'targetedInterfaces_', + internalType: 'struct StdInvariant.FuzzInterface[]', + type: 'tuple[]', + components: [ + { name: 'addr', internalType: 'address', type: 'address' }, + { name: 'artifacts', internalType: 'string[]', type: 'string[]' }, + ], + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'targetSelectors', + outputs: [ + { + name: 'targetedSelectors_', + internalType: 'struct StdInvariant.FuzzSelector[]', + type: 'tuple[]', + components: [ + { name: 'addr', internalType: 'address', type: 'address' }, + { name: 'selectors', internalType: 'bytes4[]', type: 'bytes4[]' }, + ], + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'targetSenders', + outputs: [ + { + name: 'targetedSenders_', + internalType: 'address[]', + type: 'address[]', + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + inputs: [], + name: 'test_deposit_revertsWithoutApproval', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + inputs: [], + name: 'test_deposit_succeedsAfterApproval', + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: '', internalType: 'string', type: 'string', indexed: false }, + ], + name: 'log', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: '', internalType: 'address', type: 'address', indexed: false }, + ], + name: 'log_address', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { + name: 'val', + internalType: 'uint256[]', + type: 'uint256[]', + indexed: false, + }, + ], + name: 'log_array', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { + name: 'val', + internalType: 'int256[]', + type: 'int256[]', + indexed: false, + }, + ], + name: 'log_array', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { + name: 'val', + internalType: 'address[]', + type: 'address[]', + indexed: false, + }, + ], + name: 'log_array', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: '', internalType: 'bytes', type: 'bytes', indexed: false }, + ], + name: 'log_bytes', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: '', internalType: 'bytes32', type: 'bytes32', indexed: false }, + ], + name: 'log_bytes32', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: '', internalType: 'int256', type: 'int256', indexed: false }, + ], + name: 'log_int', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { name: 'val', internalType: 'address', type: 'address', indexed: false }, + ], + name: 'log_named_address', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { + name: 'val', + internalType: 'uint256[]', + type: 'uint256[]', + indexed: false, + }, + ], + name: 'log_named_array', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { + name: 'val', + internalType: 'int256[]', + type: 'int256[]', + indexed: false, + }, + ], + name: 'log_named_array', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { + name: 'val', + internalType: 'address[]', + type: 'address[]', + indexed: false, + }, + ], + name: 'log_named_array', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { name: 'val', internalType: 'bytes', type: 'bytes', indexed: false }, + ], + name: 'log_named_bytes', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { name: 'val', internalType: 'bytes32', type: 'bytes32', indexed: false }, + ], + name: 'log_named_bytes32', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { name: 'val', internalType: 'int256', type: 'int256', indexed: false }, + { + name: 'decimals', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + ], + name: 'log_named_decimal_int', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { name: 'val', internalType: 'uint256', type: 'uint256', indexed: false }, + { + name: 'decimals', + internalType: 'uint256', + type: 'uint256', + indexed: false, + }, + ], + name: 'log_named_decimal_uint', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { name: 'val', internalType: 'int256', type: 'int256', indexed: false }, + ], + name: 'log_named_int', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { name: 'val', internalType: 'string', type: 'string', indexed: false }, + ], + name: 'log_named_string', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: 'key', internalType: 'string', type: 'string', indexed: false }, + { name: 'val', internalType: 'uint256', type: 'uint256', indexed: false }, + ], + name: 'log_named_uint', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: '', internalType: 'string', type: 'string', indexed: false }, + ], + name: 'log_string', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: '', internalType: 'uint256', type: 'uint256', indexed: false }, + ], + name: 'log_uint', + }, + { + type: 'event', + anonymous: false, + inputs: [ + { name: '', internalType: 'bytes', type: 'bytes', indexed: false }, + ], + name: 'logs', + }, +] as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// React +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link beaconProxyAbi}__ + */ +export const useWatchBeaconProxyEvent = + /*#__PURE__*/ createUseWatchContractEvent({ abi: beaconProxyAbi }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link beaconProxyAbi}__ and `eventName` set to `"BeaconUpgraded"` + */ +export const useWatchBeaconProxyBeaconUpgradedEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: beaconProxyAbi, + eventName: 'BeaconUpgraded', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link depositTokenAbi}__ + * + * + */ +export const useReadDepositToken = /*#__PURE__*/ createUseReadContract({ + abi: depositTokenAbi, + address: depositTokenAddress, +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link depositTokenAbi}__ and `functionName` set to `"allowance"` + * + * + */ +export const useReadDepositTokenAllowance = /*#__PURE__*/ createUseReadContract( + { + abi: depositTokenAbi, + address: depositTokenAddress, + functionName: 'allowance', + }, +) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link depositTokenAbi}__ and `functionName` set to `"balanceOf"` + * + * + */ +export const useReadDepositTokenBalanceOf = /*#__PURE__*/ createUseReadContract( + { + abi: depositTokenAbi, + address: depositTokenAddress, + functionName: 'balanceOf', + }, +) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link depositTokenAbi}__ and `functionName` set to `"decimals"` + * + * + */ +export const useReadDepositTokenDecimals = /*#__PURE__*/ createUseReadContract({ + abi: depositTokenAbi, + address: depositTokenAddress, + functionName: 'decimals', +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link depositTokenAbi}__ and `functionName` set to `"name"` + * + * + */ +export const useReadDepositTokenName = /*#__PURE__*/ createUseReadContract({ + abi: depositTokenAbi, + address: depositTokenAddress, + functionName: 'name', +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link depositTokenAbi}__ and `functionName` set to `"symbol"` + * + * + */ +export const useReadDepositTokenSymbol = /*#__PURE__*/ createUseReadContract({ + abi: depositTokenAbi, + address: depositTokenAddress, + functionName: 'symbol', +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link depositTokenAbi}__ and `functionName` set to `"totalSupply"` + * + * + */ +export const useReadDepositTokenTotalSupply = + /*#__PURE__*/ createUseReadContract({ + abi: depositTokenAbi, + address: depositTokenAddress, + functionName: 'totalSupply', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link depositTokenAbi}__ + * + * + */ +export const useWriteDepositToken = /*#__PURE__*/ createUseWriteContract({ + abi: depositTokenAbi, + address: depositTokenAddress, +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link depositTokenAbi}__ and `functionName` set to `"approve"` + * + * + */ +export const useWriteDepositTokenApprove = /*#__PURE__*/ createUseWriteContract( + { + abi: depositTokenAbi, + address: depositTokenAddress, + functionName: 'approve', + }, +) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link depositTokenAbi}__ and `functionName` set to `"mint"` + * + * + */ +export const useWriteDepositTokenMint = /*#__PURE__*/ createUseWriteContract({ + abi: depositTokenAbi, + address: depositTokenAddress, + functionName: 'mint', +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link depositTokenAbi}__ and `functionName` set to `"transfer"` + * + * + */ +export const useWriteDepositTokenTransfer = + /*#__PURE__*/ createUseWriteContract({ + abi: depositTokenAbi, + address: depositTokenAddress, + functionName: 'transfer', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link depositTokenAbi}__ and `functionName` set to `"transferFrom"` + * + * + */ +export const useWriteDepositTokenTransferFrom = + /*#__PURE__*/ createUseWriteContract({ + abi: depositTokenAbi, + address: depositTokenAddress, + functionName: 'transferFrom', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link depositTokenAbi}__ + * + * + */ +export const useSimulateDepositToken = /*#__PURE__*/ createUseSimulateContract({ + abi: depositTokenAbi, + address: depositTokenAddress, +}) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link depositTokenAbi}__ and `functionName` set to `"approve"` + * + * + */ +export const useSimulateDepositTokenApprove = + /*#__PURE__*/ createUseSimulateContract({ + abi: depositTokenAbi, + address: depositTokenAddress, + functionName: 'approve', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link depositTokenAbi}__ and `functionName` set to `"mint"` + * + * + */ +export const useSimulateDepositTokenMint = + /*#__PURE__*/ createUseSimulateContract({ + abi: depositTokenAbi, + address: depositTokenAddress, + functionName: 'mint', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link depositTokenAbi}__ and `functionName` set to `"transfer"` + * + * + */ +export const useSimulateDepositTokenTransfer = + /*#__PURE__*/ createUseSimulateContract({ + abi: depositTokenAbi, + address: depositTokenAddress, + functionName: 'transfer', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link depositTokenAbi}__ and `functionName` set to `"transferFrom"` + * + * + */ +export const useSimulateDepositTokenTransferFrom = + /*#__PURE__*/ createUseSimulateContract({ + abi: depositTokenAbi, + address: depositTokenAddress, + functionName: 'transferFrom', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link depositTokenAbi}__ + * + * + */ +export const useWatchDepositTokenEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: depositTokenAbi, + address: depositTokenAddress, + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link depositTokenAbi}__ and `eventName` set to `"Approval"` + * + * + */ +export const useWatchDepositTokenApprovalEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: depositTokenAbi, + address: depositTokenAddress, + eventName: 'Approval', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link depositTokenAbi}__ and `eventName` set to `"Transfer"` + * + * + */ +export const useWatchDepositTokenTransferEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: depositTokenAbi, + address: depositTokenAddress, + eventName: 'Transfer', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc165Abi}__ + */ +export const useReadErc165 = /*#__PURE__*/ createUseReadContract({ + abi: erc165Abi, +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc165Abi}__ and `functionName` set to `"supportsInterface"` + */ +export const useReadErc165SupportsInterface = + /*#__PURE__*/ createUseReadContract({ + abi: erc165Abi, + functionName: 'supportsInterface', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link erc1967ProxyAbi}__ + */ +export const useWatchErc1967ProxyEvent = + /*#__PURE__*/ createUseWatchContractEvent({ abi: erc1967ProxyAbi }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link erc1967ProxyAbi}__ and `eventName` set to `"Upgraded"` + */ +export const useWatchErc1967ProxyUpgradedEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: erc1967ProxyAbi, + eventName: 'Upgraded', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link erc1967UtilsAbi}__ + */ +export const useWatchErc1967UtilsEvent = + /*#__PURE__*/ createUseWatchContractEvent({ abi: erc1967UtilsAbi }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link erc1967UtilsAbi}__ and `eventName` set to `"AdminChanged"` + */ +export const useWatchErc1967UtilsAdminChangedEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: erc1967UtilsAbi, + eventName: 'AdminChanged', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link erc1967UtilsAbi}__ and `eventName` set to `"BeaconUpgraded"` + */ +export const useWatchErc1967UtilsBeaconUpgradedEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: erc1967UtilsAbi, + eventName: 'BeaconUpgraded', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link erc1967UtilsAbi}__ and `eventName` set to `"Upgraded"` + */ +export const useWatchErc1967UtilsUpgradedEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: erc1967UtilsAbi, + eventName: 'Upgraded', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc20Abi}__ + */ +export const useReadErc20 = /*#__PURE__*/ createUseReadContract({ + abi: erc20Abi, +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc20Abi}__ and `functionName` set to `"allowance"` + */ +export const useReadErc20Allowance = /*#__PURE__*/ createUseReadContract({ + abi: erc20Abi, + functionName: 'allowance', +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc20Abi}__ and `functionName` set to `"balanceOf"` + */ +export const useReadErc20BalanceOf = /*#__PURE__*/ createUseReadContract({ + abi: erc20Abi, + functionName: 'balanceOf', +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc20Abi}__ and `functionName` set to `"decimals"` + */ +export const useReadErc20Decimals = /*#__PURE__*/ createUseReadContract({ + abi: erc20Abi, + functionName: 'decimals', +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc20Abi}__ and `functionName` set to `"name"` + */ +export const useReadErc20Name = /*#__PURE__*/ createUseReadContract({ + abi: erc20Abi, + functionName: 'name', +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc20Abi}__ and `functionName` set to `"symbol"` + */ +export const useReadErc20Symbol = /*#__PURE__*/ createUseReadContract({ + abi: erc20Abi, + functionName: 'symbol', +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc20Abi}__ and `functionName` set to `"totalSupply"` + */ +export const useReadErc20TotalSupply = /*#__PURE__*/ createUseReadContract({ + abi: erc20Abi, + functionName: 'totalSupply', +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link erc20Abi}__ + */ +export const useWriteErc20 = /*#__PURE__*/ createUseWriteContract({ + abi: erc20Abi, +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link erc20Abi}__ and `functionName` set to `"approve"` + */ +export const useWriteErc20Approve = /*#__PURE__*/ createUseWriteContract({ + abi: erc20Abi, + functionName: 'approve', +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link erc20Abi}__ and `functionName` set to `"transfer"` + */ +export const useWriteErc20Transfer = /*#__PURE__*/ createUseWriteContract({ + abi: erc20Abi, + functionName: 'transfer', +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link erc20Abi}__ and `functionName` set to `"transferFrom"` + */ +export const useWriteErc20TransferFrom = /*#__PURE__*/ createUseWriteContract({ + abi: erc20Abi, + functionName: 'transferFrom', +}) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link erc20Abi}__ + */ +export const useSimulateErc20 = /*#__PURE__*/ createUseSimulateContract({ + abi: erc20Abi, +}) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link erc20Abi}__ and `functionName` set to `"approve"` + */ +export const useSimulateErc20Approve = /*#__PURE__*/ createUseSimulateContract({ + abi: erc20Abi, + functionName: 'approve', +}) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link erc20Abi}__ and `functionName` set to `"transfer"` + */ +export const useSimulateErc20Transfer = /*#__PURE__*/ createUseSimulateContract( + { abi: erc20Abi, functionName: 'transfer' }, +) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link erc20Abi}__ and `functionName` set to `"transferFrom"` + */ +export const useSimulateErc20TransferFrom = + /*#__PURE__*/ createUseSimulateContract({ + abi: erc20Abi, + functionName: 'transferFrom', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link erc20Abi}__ + */ +export const useWatchErc20Event = /*#__PURE__*/ createUseWatchContractEvent({ + abi: erc20Abi, +}) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link erc20Abi}__ and `eventName` set to `"Approval"` + */ +export const useWatchErc20ApprovalEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: erc20Abi, + eventName: 'Approval', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link erc20Abi}__ and `eventName` set to `"Transfer"` + */ +export const useWatchErc20TransferEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: erc20Abi, + eventName: 'Transfer', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc721Abi}__ + */ +export const useReadErc721 = /*#__PURE__*/ createUseReadContract({ + abi: erc721Abi, +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc721Abi}__ and `functionName` set to `"balanceOf"` + */ +export const useReadErc721BalanceOf = /*#__PURE__*/ createUseReadContract({ + abi: erc721Abi, + functionName: 'balanceOf', +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc721Abi}__ and `functionName` set to `"getApproved"` + */ +export const useReadErc721GetApproved = /*#__PURE__*/ createUseReadContract({ + abi: erc721Abi, + functionName: 'getApproved', +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc721Abi}__ and `functionName` set to `"isApprovedForAll"` + */ +export const useReadErc721IsApprovedForAll = + /*#__PURE__*/ createUseReadContract({ + abi: erc721Abi, + functionName: 'isApprovedForAll', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc721Abi}__ and `functionName` set to `"name"` + */ +export const useReadErc721Name = /*#__PURE__*/ createUseReadContract({ + abi: erc721Abi, + functionName: 'name', +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc721Abi}__ and `functionName` set to `"ownerOf"` + */ +export const useReadErc721OwnerOf = /*#__PURE__*/ createUseReadContract({ + abi: erc721Abi, + functionName: 'ownerOf', +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc721Abi}__ and `functionName` set to `"supportsInterface"` + */ +export const useReadErc721SupportsInterface = + /*#__PURE__*/ createUseReadContract({ + abi: erc721Abi, + functionName: 'supportsInterface', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc721Abi}__ and `functionName` set to `"symbol"` + */ +export const useReadErc721Symbol = /*#__PURE__*/ createUseReadContract({ + abi: erc721Abi, + functionName: 'symbol', +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc721Abi}__ and `functionName` set to `"tokenURI"` + */ +export const useReadErc721TokenUri = /*#__PURE__*/ createUseReadContract({ + abi: erc721Abi, + functionName: 'tokenURI', +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link erc721Abi}__ + */ +export const useWriteErc721 = /*#__PURE__*/ createUseWriteContract({ + abi: erc721Abi, +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link erc721Abi}__ and `functionName` set to `"approve"` + */ +export const useWriteErc721Approve = /*#__PURE__*/ createUseWriteContract({ + abi: erc721Abi, + functionName: 'approve', +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link erc721Abi}__ and `functionName` set to `"safeTransferFrom"` + */ +export const useWriteErc721SafeTransferFrom = + /*#__PURE__*/ createUseWriteContract({ + abi: erc721Abi, + functionName: 'safeTransferFrom', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link erc721Abi}__ and `functionName` set to `"setApprovalForAll"` + */ +export const useWriteErc721SetApprovalForAll = + /*#__PURE__*/ createUseWriteContract({ + abi: erc721Abi, + functionName: 'setApprovalForAll', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link erc721Abi}__ and `functionName` set to `"transferFrom"` + */ +export const useWriteErc721TransferFrom = /*#__PURE__*/ createUseWriteContract({ + abi: erc721Abi, + functionName: 'transferFrom', +}) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link erc721Abi}__ + */ +export const useSimulateErc721 = /*#__PURE__*/ createUseSimulateContract({ + abi: erc721Abi, +}) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link erc721Abi}__ and `functionName` set to `"approve"` + */ +export const useSimulateErc721Approve = /*#__PURE__*/ createUseSimulateContract( + { abi: erc721Abi, functionName: 'approve' }, +) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link erc721Abi}__ and `functionName` set to `"safeTransferFrom"` + */ +export const useSimulateErc721SafeTransferFrom = + /*#__PURE__*/ createUseSimulateContract({ + abi: erc721Abi, + functionName: 'safeTransferFrom', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link erc721Abi}__ and `functionName` set to `"setApprovalForAll"` + */ +export const useSimulateErc721SetApprovalForAll = + /*#__PURE__*/ createUseSimulateContract({ + abi: erc721Abi, + functionName: 'setApprovalForAll', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link erc721Abi}__ and `functionName` set to `"transferFrom"` + */ +export const useSimulateErc721TransferFrom = + /*#__PURE__*/ createUseSimulateContract({ + abi: erc721Abi, + functionName: 'transferFrom', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link erc721Abi}__ + */ +export const useWatchErc721Event = /*#__PURE__*/ createUseWatchContractEvent({ + abi: erc721Abi, +}) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link erc721Abi}__ and `eventName` set to `"Approval"` + */ +export const useWatchErc721ApprovalEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: erc721Abi, + eventName: 'Approval', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link erc721Abi}__ and `eventName` set to `"ApprovalForAll"` + */ +export const useWatchErc721ApprovalForAllEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: erc721Abi, + eventName: 'ApprovalForAll', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link erc721Abi}__ and `eventName` set to `"Transfer"` + */ +export const useWatchErc721TransferEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: erc721Abi, + eventName: 'Transfer', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ + */ +export const useReadErc721Enumerable = /*#__PURE__*/ createUseReadContract({ + abi: erc721EnumerableAbi, +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `functionName` set to `"balanceOf"` + */ +export const useReadErc721EnumerableBalanceOf = + /*#__PURE__*/ createUseReadContract({ + abi: erc721EnumerableAbi, + functionName: 'balanceOf', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `functionName` set to `"getApproved"` + */ +export const useReadErc721EnumerableGetApproved = + /*#__PURE__*/ createUseReadContract({ + abi: erc721EnumerableAbi, + functionName: 'getApproved', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `functionName` set to `"isApprovedForAll"` + */ +export const useReadErc721EnumerableIsApprovedForAll = + /*#__PURE__*/ createUseReadContract({ + abi: erc721EnumerableAbi, + functionName: 'isApprovedForAll', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `functionName` set to `"name"` + */ +export const useReadErc721EnumerableName = /*#__PURE__*/ createUseReadContract({ + abi: erc721EnumerableAbi, + functionName: 'name', +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `functionName` set to `"ownerOf"` + */ +export const useReadErc721EnumerableOwnerOf = + /*#__PURE__*/ createUseReadContract({ + abi: erc721EnumerableAbi, + functionName: 'ownerOf', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `functionName` set to `"supportsInterface"` + */ +export const useReadErc721EnumerableSupportsInterface = + /*#__PURE__*/ createUseReadContract({ + abi: erc721EnumerableAbi, + functionName: 'supportsInterface', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `functionName` set to `"symbol"` + */ +export const useReadErc721EnumerableSymbol = + /*#__PURE__*/ createUseReadContract({ + abi: erc721EnumerableAbi, + functionName: 'symbol', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `functionName` set to `"tokenByIndex"` + */ +export const useReadErc721EnumerableTokenByIndex = + /*#__PURE__*/ createUseReadContract({ + abi: erc721EnumerableAbi, + functionName: 'tokenByIndex', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `functionName` set to `"tokenOfOwnerByIndex"` + */ +export const useReadErc721EnumerableTokenOfOwnerByIndex = + /*#__PURE__*/ createUseReadContract({ + abi: erc721EnumerableAbi, + functionName: 'tokenOfOwnerByIndex', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `functionName` set to `"tokenURI"` + */ +export const useReadErc721EnumerableTokenUri = + /*#__PURE__*/ createUseReadContract({ + abi: erc721EnumerableAbi, + functionName: 'tokenURI', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `functionName` set to `"totalSupply"` + */ +export const useReadErc721EnumerableTotalSupply = + /*#__PURE__*/ createUseReadContract({ + abi: erc721EnumerableAbi, + functionName: 'totalSupply', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ + */ +export const useWriteErc721Enumerable = /*#__PURE__*/ createUseWriteContract({ + abi: erc721EnumerableAbi, +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `functionName` set to `"approve"` + */ +export const useWriteErc721EnumerableApprove = + /*#__PURE__*/ createUseWriteContract({ + abi: erc721EnumerableAbi, + functionName: 'approve', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `functionName` set to `"safeTransferFrom"` + */ +export const useWriteErc721EnumerableSafeTransferFrom = + /*#__PURE__*/ createUseWriteContract({ + abi: erc721EnumerableAbi, + functionName: 'safeTransferFrom', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `functionName` set to `"setApprovalForAll"` + */ +export const useWriteErc721EnumerableSetApprovalForAll = + /*#__PURE__*/ createUseWriteContract({ + abi: erc721EnumerableAbi, + functionName: 'setApprovalForAll', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `functionName` set to `"transferFrom"` + */ +export const useWriteErc721EnumerableTransferFrom = + /*#__PURE__*/ createUseWriteContract({ + abi: erc721EnumerableAbi, + functionName: 'transferFrom', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ + */ +export const useSimulateErc721Enumerable = + /*#__PURE__*/ createUseSimulateContract({ abi: erc721EnumerableAbi }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `functionName` set to `"approve"` + */ +export const useSimulateErc721EnumerableApprove = + /*#__PURE__*/ createUseSimulateContract({ + abi: erc721EnumerableAbi, + functionName: 'approve', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `functionName` set to `"safeTransferFrom"` + */ +export const useSimulateErc721EnumerableSafeTransferFrom = + /*#__PURE__*/ createUseSimulateContract({ + abi: erc721EnumerableAbi, + functionName: 'safeTransferFrom', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `functionName` set to `"setApprovalForAll"` + */ +export const useSimulateErc721EnumerableSetApprovalForAll = + /*#__PURE__*/ createUseSimulateContract({ + abi: erc721EnumerableAbi, + functionName: 'setApprovalForAll', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `functionName` set to `"transferFrom"` + */ +export const useSimulateErc721EnumerableTransferFrom = + /*#__PURE__*/ createUseSimulateContract({ + abi: erc721EnumerableAbi, + functionName: 'transferFrom', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link erc721EnumerableAbi}__ + */ +export const useWatchErc721EnumerableEvent = + /*#__PURE__*/ createUseWatchContractEvent({ abi: erc721EnumerableAbi }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `eventName` set to `"Approval"` + */ +export const useWatchErc721EnumerableApprovalEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: erc721EnumerableAbi, + eventName: 'Approval', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `eventName` set to `"ApprovalForAll"` + */ +export const useWatchErc721EnumerableApprovalForAllEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: erc721EnumerableAbi, + eventName: 'ApprovalForAll', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `eventName` set to `"Transfer"` + */ +export const useWatchErc721EnumerableTransferEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: erc721EnumerableAbi, + eventName: 'Transfer', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link forwarderAbi}__ + */ +export const useWriteForwarder = /*#__PURE__*/ createUseWriteContract({ + abi: forwarderAbi, +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link forwarderAbi}__ and `functionName` set to `"forward"` + */ +export const useWriteForwarderForward = /*#__PURE__*/ createUseWriteContract({ + abi: forwarderAbi, + functionName: 'forward', +}) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link forwarderAbi}__ + */ +export const useSimulateForwarder = /*#__PURE__*/ createUseSimulateContract({ + abi: forwarderAbi, +}) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link forwarderAbi}__ and `functionName` set to `"forward"` + */ +export const useSimulateForwarderForward = + /*#__PURE__*/ createUseSimulateContract({ + abi: forwarderAbi, + functionName: 'forward', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link forwarderAbi}__ + */ +export const useWatchForwarderEvent = /*#__PURE__*/ createUseWatchContractEvent( + { abi: forwarderAbi }, +) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link forwarderAbi}__ and `eventName` set to `"Forwarded"` + */ +export const useWatchForwarderForwardedEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: forwarderAbi, + eventName: 'Forwarded', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link forwarderTestAbi}__ + */ +export const useReadForwarderTest = /*#__PURE__*/ createUseReadContract({ + abi: forwarderTestAbi, +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link forwarderTestAbi}__ and `functionName` set to `"IS_TEST"` + */ +export const useReadForwarderTestIsTest = /*#__PURE__*/ createUseReadContract({ + abi: forwarderTestAbi, + functionName: 'IS_TEST', +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link forwarderTestAbi}__ and `functionName` set to `"excludeArtifacts"` + */ +export const useReadForwarderTestExcludeArtifacts = + /*#__PURE__*/ createUseReadContract({ + abi: forwarderTestAbi, + functionName: 'excludeArtifacts', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link forwarderTestAbi}__ and `functionName` set to `"excludeContracts"` + */ +export const useReadForwarderTestExcludeContracts = + /*#__PURE__*/ createUseReadContract({ + abi: forwarderTestAbi, + functionName: 'excludeContracts', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link forwarderTestAbi}__ and `functionName` set to `"excludeSelectors"` + */ +export const useReadForwarderTestExcludeSelectors = + /*#__PURE__*/ createUseReadContract({ + abi: forwarderTestAbi, + functionName: 'excludeSelectors', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link forwarderTestAbi}__ and `functionName` set to `"excludeSenders"` + */ +export const useReadForwarderTestExcludeSenders = + /*#__PURE__*/ createUseReadContract({ + abi: forwarderTestAbi, + functionName: 'excludeSenders', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link forwarderTestAbi}__ and `functionName` set to `"failed"` + */ +export const useReadForwarderTestFailed = /*#__PURE__*/ createUseReadContract({ + abi: forwarderTestAbi, + functionName: 'failed', +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link forwarderTestAbi}__ and `functionName` set to `"targetArtifactSelectors"` + */ +export const useReadForwarderTestTargetArtifactSelectors = + /*#__PURE__*/ createUseReadContract({ + abi: forwarderTestAbi, + functionName: 'targetArtifactSelectors', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link forwarderTestAbi}__ and `functionName` set to `"targetArtifacts"` + */ +export const useReadForwarderTestTargetArtifacts = + /*#__PURE__*/ createUseReadContract({ + abi: forwarderTestAbi, + functionName: 'targetArtifacts', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link forwarderTestAbi}__ and `functionName` set to `"targetContracts"` + */ +export const useReadForwarderTestTargetContracts = + /*#__PURE__*/ createUseReadContract({ + abi: forwarderTestAbi, + functionName: 'targetContracts', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link forwarderTestAbi}__ and `functionName` set to `"targetInterfaces"` + */ +export const useReadForwarderTestTargetInterfaces = + /*#__PURE__*/ createUseReadContract({ + abi: forwarderTestAbi, + functionName: 'targetInterfaces', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link forwarderTestAbi}__ and `functionName` set to `"targetSelectors"` + */ +export const useReadForwarderTestTargetSelectors = + /*#__PURE__*/ createUseReadContract({ + abi: forwarderTestAbi, + functionName: 'targetSelectors', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link forwarderTestAbi}__ and `functionName` set to `"targetSenders"` + */ +export const useReadForwarderTestTargetSenders = + /*#__PURE__*/ createUseReadContract({ + abi: forwarderTestAbi, + functionName: 'targetSenders', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link forwarderTestAbi}__ + */ +export const useWriteForwarderTest = /*#__PURE__*/ createUseWriteContract({ + abi: forwarderTestAbi, +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link forwarderTestAbi}__ and `functionName` set to `"setUp"` + */ +export const useWriteForwarderTestSetUp = /*#__PURE__*/ createUseWriteContract({ + abi: forwarderTestAbi, + functionName: 'setUp', +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link forwarderTestAbi}__ and `functionName` set to `"test_forward_emitsEvenWhenInnerCallFails"` + */ +export const useWriteForwarderTestTestForwardEmitsEvenWhenInnerCallFails = + /*#__PURE__*/ createUseWriteContract({ + abi: forwarderTestAbi, + functionName: 'test_forward_emitsEvenWhenInnerCallFails', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link forwarderTestAbi}__ and `functionName` set to `"test_forward_swallowsFailure"` + */ +export const useWriteForwarderTestTestForwardSwallowsFailure = + /*#__PURE__*/ createUseWriteContract({ + abi: forwarderTestAbi, + functionName: 'test_forward_swallowsFailure', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link forwarderTestAbi}__ + */ +export const useSimulateForwarderTest = /*#__PURE__*/ createUseSimulateContract( + { abi: forwarderTestAbi }, +) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link forwarderTestAbi}__ and `functionName` set to `"setUp"` + */ +export const useSimulateForwarderTestSetUp = + /*#__PURE__*/ createUseSimulateContract({ + abi: forwarderTestAbi, + functionName: 'setUp', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link forwarderTestAbi}__ and `functionName` set to `"test_forward_emitsEvenWhenInnerCallFails"` + */ +export const useSimulateForwarderTestTestForwardEmitsEvenWhenInnerCallFails = + /*#__PURE__*/ createUseSimulateContract({ + abi: forwarderTestAbi, + functionName: 'test_forward_emitsEvenWhenInnerCallFails', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link forwarderTestAbi}__ and `functionName` set to `"test_forward_swallowsFailure"` + */ +export const useSimulateForwarderTestTestForwardSwallowsFailure = + /*#__PURE__*/ createUseSimulateContract({ + abi: forwarderTestAbi, + functionName: 'test_forward_swallowsFailure', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link forwarderTestAbi}__ + */ +export const useWatchForwarderTestEvent = + /*#__PURE__*/ createUseWatchContractEvent({ abi: forwarderTestAbi }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link forwarderTestAbi}__ and `eventName` set to `"Forwarded"` + */ +export const useWatchForwarderTestForwardedEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: forwarderTestAbi, + eventName: 'Forwarded', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link forwarderTestAbi}__ and `eventName` set to `"log"` + */ +export const useWatchForwarderTestLogEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: forwarderTestAbi, + eventName: 'log', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link forwarderTestAbi}__ and `eventName` set to `"log_address"` + */ +export const useWatchForwarderTestLogAddressEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: forwarderTestAbi, + eventName: 'log_address', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link forwarderTestAbi}__ and `eventName` set to `"log_array"` + */ +export const useWatchForwarderTestLogArrayEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: forwarderTestAbi, + eventName: 'log_array', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link forwarderTestAbi}__ and `eventName` set to `"log_bytes"` + */ +export const useWatchForwarderTestLogBytesEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: forwarderTestAbi, + eventName: 'log_bytes', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link forwarderTestAbi}__ and `eventName` set to `"log_bytes32"` + */ +export const useWatchForwarderTestLogBytes32Event = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: forwarderTestAbi, + eventName: 'log_bytes32', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link forwarderTestAbi}__ and `eventName` set to `"log_int"` + */ +export const useWatchForwarderTestLogIntEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: forwarderTestAbi, + eventName: 'log_int', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link forwarderTestAbi}__ and `eventName` set to `"log_named_address"` + */ +export const useWatchForwarderTestLogNamedAddressEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: forwarderTestAbi, + eventName: 'log_named_address', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link forwarderTestAbi}__ and `eventName` set to `"log_named_array"` + */ +export const useWatchForwarderTestLogNamedArrayEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: forwarderTestAbi, + eventName: 'log_named_array', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link forwarderTestAbi}__ and `eventName` set to `"log_named_bytes"` + */ +export const useWatchForwarderTestLogNamedBytesEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: forwarderTestAbi, + eventName: 'log_named_bytes', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link forwarderTestAbi}__ and `eventName` set to `"log_named_bytes32"` + */ +export const useWatchForwarderTestLogNamedBytes32Event = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: forwarderTestAbi, + eventName: 'log_named_bytes32', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link forwarderTestAbi}__ and `eventName` set to `"log_named_decimal_int"` + */ +export const useWatchForwarderTestLogNamedDecimalIntEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: forwarderTestAbi, + eventName: 'log_named_decimal_int', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link forwarderTestAbi}__ and `eventName` set to `"log_named_decimal_uint"` + */ +export const useWatchForwarderTestLogNamedDecimalUintEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: forwarderTestAbi, + eventName: 'log_named_decimal_uint', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link forwarderTestAbi}__ and `eventName` set to `"log_named_int"` + */ +export const useWatchForwarderTestLogNamedIntEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: forwarderTestAbi, + eventName: 'log_named_int', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link forwarderTestAbi}__ and `eventName` set to `"log_named_string"` + */ +export const useWatchForwarderTestLogNamedStringEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: forwarderTestAbi, + eventName: 'log_named_string', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link forwarderTestAbi}__ and `eventName` set to `"log_named_uint"` + */ +export const useWatchForwarderTestLogNamedUintEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: forwarderTestAbi, + eventName: 'log_named_uint', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link forwarderTestAbi}__ and `eventName` set to `"log_string"` + */ +export const useWatchForwarderTestLogStringEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: forwarderTestAbi, + eventName: 'log_string', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link forwarderTestAbi}__ and `eventName` set to `"log_uint"` + */ +export const useWatchForwarderTestLogUintEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: forwarderTestAbi, + eventName: 'log_uint', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link forwarderTestAbi}__ and `eventName` set to `"logs"` + */ +export const useWatchForwarderTestLogsEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: forwarderTestAbi, + eventName: 'logs', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link iBeaconAbi}__ + */ +export const useReadIBeacon = /*#__PURE__*/ createUseReadContract({ + abi: iBeaconAbi, +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link iBeaconAbi}__ and `functionName` set to `"implementation"` + */ +export const useReadIBeaconImplementation = /*#__PURE__*/ createUseReadContract( + { abi: iBeaconAbi, functionName: 'implementation' }, +) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ierc1967Abi}__ + */ +export const useWatchIerc1967Event = /*#__PURE__*/ createUseWatchContractEvent({ + abi: ierc1967Abi, +}) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ierc1967Abi}__ and `eventName` set to `"AdminChanged"` + */ +export const useWatchIerc1967AdminChangedEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: ierc1967Abi, + eventName: 'AdminChanged', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ierc1967Abi}__ and `eventName` set to `"BeaconUpgraded"` + */ +export const useWatchIerc1967BeaconUpgradedEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: ierc1967Abi, + eventName: 'BeaconUpgraded', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ierc1967Abi}__ and `eventName` set to `"Upgraded"` + */ +export const useWatchIerc1967UpgradedEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: ierc1967Abi, + eventName: 'Upgraded', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc20MetadataAbi}__ + */ +export const useReadIerc20Metadata = /*#__PURE__*/ createUseReadContract({ + abi: ierc20MetadataAbi, +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc20MetadataAbi}__ and `functionName` set to `"allowance"` + */ +export const useReadIerc20MetadataAllowance = + /*#__PURE__*/ createUseReadContract({ + abi: ierc20MetadataAbi, + functionName: 'allowance', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc20MetadataAbi}__ and `functionName` set to `"balanceOf"` + */ +export const useReadIerc20MetadataBalanceOf = + /*#__PURE__*/ createUseReadContract({ + abi: ierc20MetadataAbi, + functionName: 'balanceOf', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc20MetadataAbi}__ and `functionName` set to `"decimals"` + */ +export const useReadIerc20MetadataDecimals = + /*#__PURE__*/ createUseReadContract({ + abi: ierc20MetadataAbi, + functionName: 'decimals', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc20MetadataAbi}__ and `functionName` set to `"name"` + */ +export const useReadIerc20MetadataName = /*#__PURE__*/ createUseReadContract({ + abi: ierc20MetadataAbi, + functionName: 'name', +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc20MetadataAbi}__ and `functionName` set to `"symbol"` + */ +export const useReadIerc20MetadataSymbol = /*#__PURE__*/ createUseReadContract({ + abi: ierc20MetadataAbi, + functionName: 'symbol', +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc20MetadataAbi}__ and `functionName` set to `"totalSupply"` + */ +export const useReadIerc20MetadataTotalSupply = + /*#__PURE__*/ createUseReadContract({ + abi: ierc20MetadataAbi, + functionName: 'totalSupply', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ierc20MetadataAbi}__ + */ +export const useWriteIerc20Metadata = /*#__PURE__*/ createUseWriteContract({ + abi: ierc20MetadataAbi, +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ierc20MetadataAbi}__ and `functionName` set to `"approve"` + */ +export const useWriteIerc20MetadataApprove = + /*#__PURE__*/ createUseWriteContract({ + abi: ierc20MetadataAbi, + functionName: 'approve', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ierc20MetadataAbi}__ and `functionName` set to `"transfer"` + */ +export const useWriteIerc20MetadataTransfer = + /*#__PURE__*/ createUseWriteContract({ + abi: ierc20MetadataAbi, + functionName: 'transfer', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ierc20MetadataAbi}__ and `functionName` set to `"transferFrom"` + */ +export const useWriteIerc20MetadataTransferFrom = + /*#__PURE__*/ createUseWriteContract({ + abi: ierc20MetadataAbi, + functionName: 'transferFrom', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ierc20MetadataAbi}__ + */ +export const useSimulateIerc20Metadata = + /*#__PURE__*/ createUseSimulateContract({ abi: ierc20MetadataAbi }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ierc20MetadataAbi}__ and `functionName` set to `"approve"` + */ +export const useSimulateIerc20MetadataApprove = + /*#__PURE__*/ createUseSimulateContract({ + abi: ierc20MetadataAbi, + functionName: 'approve', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ierc20MetadataAbi}__ and `functionName` set to `"transfer"` + */ +export const useSimulateIerc20MetadataTransfer = + /*#__PURE__*/ createUseSimulateContract({ + abi: ierc20MetadataAbi, + functionName: 'transfer', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ierc20MetadataAbi}__ and `functionName` set to `"transferFrom"` + */ +export const useSimulateIerc20MetadataTransferFrom = + /*#__PURE__*/ createUseSimulateContract({ + abi: ierc20MetadataAbi, + functionName: 'transferFrom', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ierc20MetadataAbi}__ + */ +export const useWatchIerc20MetadataEvent = + /*#__PURE__*/ createUseWatchContractEvent({ abi: ierc20MetadataAbi }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ierc20MetadataAbi}__ and `eventName` set to `"Approval"` + */ +export const useWatchIerc20MetadataApprovalEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: ierc20MetadataAbi, + eventName: 'Approval', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ierc20MetadataAbi}__ and `eventName` set to `"Transfer"` + */ +export const useWatchIerc20MetadataTransferEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: ierc20MetadataAbi, + eventName: 'Transfer', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc721EnumerableAbi}__ + */ +export const useReadIerc721Enumerable = /*#__PURE__*/ createUseReadContract({ + abi: ierc721EnumerableAbi, +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc721EnumerableAbi}__ and `functionName` set to `"balanceOf"` + */ +export const useReadIerc721EnumerableBalanceOf = + /*#__PURE__*/ createUseReadContract({ + abi: ierc721EnumerableAbi, + functionName: 'balanceOf', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc721EnumerableAbi}__ and `functionName` set to `"getApproved"` + */ +export const useReadIerc721EnumerableGetApproved = + /*#__PURE__*/ createUseReadContract({ + abi: ierc721EnumerableAbi, + functionName: 'getApproved', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc721EnumerableAbi}__ and `functionName` set to `"isApprovedForAll"` + */ +export const useReadIerc721EnumerableIsApprovedForAll = + /*#__PURE__*/ createUseReadContract({ + abi: ierc721EnumerableAbi, + functionName: 'isApprovedForAll', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc721EnumerableAbi}__ and `functionName` set to `"ownerOf"` + */ +export const useReadIerc721EnumerableOwnerOf = + /*#__PURE__*/ createUseReadContract({ + abi: ierc721EnumerableAbi, + functionName: 'ownerOf', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc721EnumerableAbi}__ and `functionName` set to `"supportsInterface"` + */ +export const useReadIerc721EnumerableSupportsInterface = + /*#__PURE__*/ createUseReadContract({ + abi: ierc721EnumerableAbi, + functionName: 'supportsInterface', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc721EnumerableAbi}__ and `functionName` set to `"tokenByIndex"` + */ +export const useReadIerc721EnumerableTokenByIndex = + /*#__PURE__*/ createUseReadContract({ + abi: ierc721EnumerableAbi, + functionName: 'tokenByIndex', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc721EnumerableAbi}__ and `functionName` set to `"tokenOfOwnerByIndex"` + */ +export const useReadIerc721EnumerableTokenOfOwnerByIndex = + /*#__PURE__*/ createUseReadContract({ + abi: ierc721EnumerableAbi, + functionName: 'tokenOfOwnerByIndex', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc721EnumerableAbi}__ and `functionName` set to `"totalSupply"` + */ +export const useReadIerc721EnumerableTotalSupply = + /*#__PURE__*/ createUseReadContract({ + abi: ierc721EnumerableAbi, + functionName: 'totalSupply', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ierc721EnumerableAbi}__ + */ +export const useWriteIerc721Enumerable = /*#__PURE__*/ createUseWriteContract({ + abi: ierc721EnumerableAbi, +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ierc721EnumerableAbi}__ and `functionName` set to `"approve"` + */ +export const useWriteIerc721EnumerableApprove = + /*#__PURE__*/ createUseWriteContract({ + abi: ierc721EnumerableAbi, + functionName: 'approve', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ierc721EnumerableAbi}__ and `functionName` set to `"safeTransferFrom"` + */ +export const useWriteIerc721EnumerableSafeTransferFrom = + /*#__PURE__*/ createUseWriteContract({ + abi: ierc721EnumerableAbi, + functionName: 'safeTransferFrom', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ierc721EnumerableAbi}__ and `functionName` set to `"setApprovalForAll"` + */ +export const useWriteIerc721EnumerableSetApprovalForAll = + /*#__PURE__*/ createUseWriteContract({ + abi: ierc721EnumerableAbi, + functionName: 'setApprovalForAll', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ierc721EnumerableAbi}__ and `functionName` set to `"transferFrom"` + */ +export const useWriteIerc721EnumerableTransferFrom = + /*#__PURE__*/ createUseWriteContract({ + abi: ierc721EnumerableAbi, + functionName: 'transferFrom', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ierc721EnumerableAbi}__ + */ +export const useSimulateIerc721Enumerable = + /*#__PURE__*/ createUseSimulateContract({ abi: ierc721EnumerableAbi }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ierc721EnumerableAbi}__ and `functionName` set to `"approve"` + */ +export const useSimulateIerc721EnumerableApprove = + /*#__PURE__*/ createUseSimulateContract({ + abi: ierc721EnumerableAbi, + functionName: 'approve', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ierc721EnumerableAbi}__ and `functionName` set to `"safeTransferFrom"` + */ +export const useSimulateIerc721EnumerableSafeTransferFrom = + /*#__PURE__*/ createUseSimulateContract({ + abi: ierc721EnumerableAbi, + functionName: 'safeTransferFrom', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ierc721EnumerableAbi}__ and `functionName` set to `"setApprovalForAll"` + */ +export const useSimulateIerc721EnumerableSetApprovalForAll = + /*#__PURE__*/ createUseSimulateContract({ + abi: ierc721EnumerableAbi, + functionName: 'setApprovalForAll', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ierc721EnumerableAbi}__ and `functionName` set to `"transferFrom"` + */ +export const useSimulateIerc721EnumerableTransferFrom = + /*#__PURE__*/ createUseSimulateContract({ + abi: ierc721EnumerableAbi, + functionName: 'transferFrom', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ierc721EnumerableAbi}__ + */ +export const useWatchIerc721EnumerableEvent = + /*#__PURE__*/ createUseWatchContractEvent({ abi: ierc721EnumerableAbi }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ierc721EnumerableAbi}__ and `eventName` set to `"Approval"` + */ +export const useWatchIerc721EnumerableApprovalEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: ierc721EnumerableAbi, + eventName: 'Approval', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ierc721EnumerableAbi}__ and `eventName` set to `"ApprovalForAll"` + */ +export const useWatchIerc721EnumerableApprovalForAllEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: ierc721EnumerableAbi, + eventName: 'ApprovalForAll', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ierc721EnumerableAbi}__ and `eventName` set to `"Transfer"` + */ +export const useWatchIerc721EnumerableTransferEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: ierc721EnumerableAbi, + eventName: 'Transfer', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc721MetadataAbi}__ + */ +export const useReadIerc721Metadata = /*#__PURE__*/ createUseReadContract({ + abi: ierc721MetadataAbi, +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc721MetadataAbi}__ and `functionName` set to `"balanceOf"` + */ +export const useReadIerc721MetadataBalanceOf = + /*#__PURE__*/ createUseReadContract({ + abi: ierc721MetadataAbi, + functionName: 'balanceOf', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc721MetadataAbi}__ and `functionName` set to `"getApproved"` + */ +export const useReadIerc721MetadataGetApproved = + /*#__PURE__*/ createUseReadContract({ + abi: ierc721MetadataAbi, + functionName: 'getApproved', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc721MetadataAbi}__ and `functionName` set to `"isApprovedForAll"` + */ +export const useReadIerc721MetadataIsApprovedForAll = + /*#__PURE__*/ createUseReadContract({ + abi: ierc721MetadataAbi, + functionName: 'isApprovedForAll', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc721MetadataAbi}__ and `functionName` set to `"name"` + */ +export const useReadIerc721MetadataName = /*#__PURE__*/ createUseReadContract({ + abi: ierc721MetadataAbi, + functionName: 'name', +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc721MetadataAbi}__ and `functionName` set to `"ownerOf"` + */ +export const useReadIerc721MetadataOwnerOf = + /*#__PURE__*/ createUseReadContract({ + abi: ierc721MetadataAbi, + functionName: 'ownerOf', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc721MetadataAbi}__ and `functionName` set to `"supportsInterface"` + */ +export const useReadIerc721MetadataSupportsInterface = + /*#__PURE__*/ createUseReadContract({ + abi: ierc721MetadataAbi, + functionName: 'supportsInterface', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc721MetadataAbi}__ and `functionName` set to `"symbol"` + */ +export const useReadIerc721MetadataSymbol = /*#__PURE__*/ createUseReadContract( + { abi: ierc721MetadataAbi, functionName: 'symbol' }, +) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc721MetadataAbi}__ and `functionName` set to `"tokenURI"` + */ +export const useReadIerc721MetadataTokenUri = + /*#__PURE__*/ createUseReadContract({ + abi: ierc721MetadataAbi, + functionName: 'tokenURI', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ierc721MetadataAbi}__ + */ +export const useWriteIerc721Metadata = /*#__PURE__*/ createUseWriteContract({ + abi: ierc721MetadataAbi, +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ierc721MetadataAbi}__ and `functionName` set to `"approve"` + */ +export const useWriteIerc721MetadataApprove = + /*#__PURE__*/ createUseWriteContract({ + abi: ierc721MetadataAbi, + functionName: 'approve', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ierc721MetadataAbi}__ and `functionName` set to `"safeTransferFrom"` + */ +export const useWriteIerc721MetadataSafeTransferFrom = + /*#__PURE__*/ createUseWriteContract({ + abi: ierc721MetadataAbi, + functionName: 'safeTransferFrom', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ierc721MetadataAbi}__ and `functionName` set to `"setApprovalForAll"` + */ +export const useWriteIerc721MetadataSetApprovalForAll = + /*#__PURE__*/ createUseWriteContract({ + abi: ierc721MetadataAbi, + functionName: 'setApprovalForAll', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ierc721MetadataAbi}__ and `functionName` set to `"transferFrom"` + */ +export const useWriteIerc721MetadataTransferFrom = + /*#__PURE__*/ createUseWriteContract({ + abi: ierc721MetadataAbi, + functionName: 'transferFrom', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ierc721MetadataAbi}__ + */ +export const useSimulateIerc721Metadata = + /*#__PURE__*/ createUseSimulateContract({ abi: ierc721MetadataAbi }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ierc721MetadataAbi}__ and `functionName` set to `"approve"` + */ +export const useSimulateIerc721MetadataApprove = + /*#__PURE__*/ createUseSimulateContract({ + abi: ierc721MetadataAbi, + functionName: 'approve', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ierc721MetadataAbi}__ and `functionName` set to `"safeTransferFrom"` + */ +export const useSimulateIerc721MetadataSafeTransferFrom = + /*#__PURE__*/ createUseSimulateContract({ + abi: ierc721MetadataAbi, + functionName: 'safeTransferFrom', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ierc721MetadataAbi}__ and `functionName` set to `"setApprovalForAll"` + */ +export const useSimulateIerc721MetadataSetApprovalForAll = + /*#__PURE__*/ createUseSimulateContract({ + abi: ierc721MetadataAbi, + functionName: 'setApprovalForAll', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ierc721MetadataAbi}__ and `functionName` set to `"transferFrom"` + */ +export const useSimulateIerc721MetadataTransferFrom = + /*#__PURE__*/ createUseSimulateContract({ + abi: ierc721MetadataAbi, + functionName: 'transferFrom', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ierc721MetadataAbi}__ + */ +export const useWatchIerc721MetadataEvent = + /*#__PURE__*/ createUseWatchContractEvent({ abi: ierc721MetadataAbi }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ierc721MetadataAbi}__ and `eventName` set to `"Approval"` + */ +export const useWatchIerc721MetadataApprovalEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: ierc721MetadataAbi, + eventName: 'Approval', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ierc721MetadataAbi}__ and `eventName` set to `"ApprovalForAll"` + */ +export const useWatchIerc721MetadataApprovalForAllEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: ierc721MetadataAbi, + eventName: 'ApprovalForAll', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ierc721MetadataAbi}__ and `eventName` set to `"Transfer"` + */ +export const useWatchIerc721MetadataTransferEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: ierc721MetadataAbi, + eventName: 'Transfer', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ierc721ReceiverAbi}__ + */ +export const useWriteIerc721Receiver = /*#__PURE__*/ createUseWriteContract({ + abi: ierc721ReceiverAbi, +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ierc721ReceiverAbi}__ and `functionName` set to `"onERC721Received"` + */ +export const useWriteIerc721ReceiverOnErc721Received = + /*#__PURE__*/ createUseWriteContract({ + abi: ierc721ReceiverAbi, + functionName: 'onERC721Received', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ierc721ReceiverAbi}__ + */ +export const useSimulateIerc721Receiver = + /*#__PURE__*/ createUseSimulateContract({ abi: ierc721ReceiverAbi }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ierc721ReceiverAbi}__ and `functionName` set to `"onERC721Received"` + */ +export const useSimulateIerc721ReceiverOnErc721Received = + /*#__PURE__*/ createUseSimulateContract({ + abi: ierc721ReceiverAbi, + functionName: 'onERC721Received', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link iMulticall3Abi}__ + */ +export const useReadIMulticall3 = /*#__PURE__*/ createUseReadContract({ + abi: iMulticall3Abi, +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"getBasefee"` + */ +export const useReadIMulticall3GetBasefee = /*#__PURE__*/ createUseReadContract( + { abi: iMulticall3Abi, functionName: 'getBasefee' }, +) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"getBlockHash"` + */ +export const useReadIMulticall3GetBlockHash = + /*#__PURE__*/ createUseReadContract({ + abi: iMulticall3Abi, + functionName: 'getBlockHash', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"getBlockNumber"` + */ +export const useReadIMulticall3GetBlockNumber = + /*#__PURE__*/ createUseReadContract({ + abi: iMulticall3Abi, + functionName: 'getBlockNumber', + }) -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// React -////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"getChainId"` + */ +export const useReadIMulticall3GetChainId = /*#__PURE__*/ createUseReadContract( + { abi: iMulticall3Abi, functionName: 'getChainId' }, +) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link beaconProxyAbi}__ + * Wraps __{@link useReadContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"getCurrentBlockCoinbase"` */ -export const useWatchBeaconProxyEvent = - /*#__PURE__*/ createUseWatchContractEvent({ abi: beaconProxyAbi }) +export const useReadIMulticall3GetCurrentBlockCoinbase = + /*#__PURE__*/ createUseReadContract({ + abi: iMulticall3Abi, + functionName: 'getCurrentBlockCoinbase', + }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link beaconProxyAbi}__ and `eventName` set to `"BeaconUpgraded"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"getCurrentBlockDifficulty"` */ -export const useWatchBeaconProxyBeaconUpgradedEvent = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: beaconProxyAbi, - eventName: 'BeaconUpgraded', +export const useReadIMulticall3GetCurrentBlockDifficulty = + /*#__PURE__*/ createUseReadContract({ + abi: iMulticall3Abi, + functionName: 'getCurrentBlockDifficulty', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc165Abi}__ + * Wraps __{@link useReadContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"getCurrentBlockGasLimit"` */ -export const useReadErc165 = /*#__PURE__*/ createUseReadContract({ - abi: erc165Abi, -}) +export const useReadIMulticall3GetCurrentBlockGasLimit = + /*#__PURE__*/ createUseReadContract({ + abi: iMulticall3Abi, + functionName: 'getCurrentBlockGasLimit', + }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc165Abi}__ and `functionName` set to `"supportsInterface"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"getCurrentBlockTimestamp"` */ -export const useReadErc165SupportsInterface = +export const useReadIMulticall3GetCurrentBlockTimestamp = /*#__PURE__*/ createUseReadContract({ - abi: erc165Abi, - functionName: 'supportsInterface', + abi: iMulticall3Abi, + functionName: 'getCurrentBlockTimestamp', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link erc1967ProxyAbi}__ + * Wraps __{@link useReadContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"getEthBalance"` */ -export const useWatchErc1967ProxyEvent = - /*#__PURE__*/ createUseWatchContractEvent({ abi: erc1967ProxyAbi }) +export const useReadIMulticall3GetEthBalance = + /*#__PURE__*/ createUseReadContract({ + abi: iMulticall3Abi, + functionName: 'getEthBalance', + }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link erc1967ProxyAbi}__ and `eventName` set to `"Upgraded"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"getLastBlockHash"` */ -export const useWatchErc1967ProxyUpgradedEvent = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: erc1967ProxyAbi, - eventName: 'Upgraded', +export const useReadIMulticall3GetLastBlockHash = + /*#__PURE__*/ createUseReadContract({ + abi: iMulticall3Abi, + functionName: 'getLastBlockHash', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link erc1967UtilsAbi}__ + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link iMulticall3Abi}__ */ -export const useWatchErc1967UtilsEvent = - /*#__PURE__*/ createUseWatchContractEvent({ abi: erc1967UtilsAbi }) +export const useWriteIMulticall3 = /*#__PURE__*/ createUseWriteContract({ + abi: iMulticall3Abi, +}) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link erc1967UtilsAbi}__ and `eventName` set to `"AdminChanged"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"aggregate"` */ -export const useWatchErc1967UtilsAdminChangedEvent = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: erc1967UtilsAbi, - eventName: 'AdminChanged', +export const useWriteIMulticall3Aggregate = + /*#__PURE__*/ createUseWriteContract({ + abi: iMulticall3Abi, + functionName: 'aggregate', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link erc1967UtilsAbi}__ and `eventName` set to `"BeaconUpgraded"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"aggregate3"` */ -export const useWatchErc1967UtilsBeaconUpgradedEvent = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: erc1967UtilsAbi, - eventName: 'BeaconUpgraded', +export const useWriteIMulticall3Aggregate3 = + /*#__PURE__*/ createUseWriteContract({ + abi: iMulticall3Abi, + functionName: 'aggregate3', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link erc1967UtilsAbi}__ and `eventName` set to `"Upgraded"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"aggregate3Value"` */ -export const useWatchErc1967UtilsUpgradedEvent = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: erc1967UtilsAbi, - eventName: 'Upgraded', +export const useWriteIMulticall3Aggregate3Value = + /*#__PURE__*/ createUseWriteContract({ + abi: iMulticall3Abi, + functionName: 'aggregate3Value', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc20Abi}__ + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"blockAndAggregate"` */ -export const useReadErc20 = /*#__PURE__*/ createUseReadContract({ - abi: erc20Abi, -}) +export const useWriteIMulticall3BlockAndAggregate = + /*#__PURE__*/ createUseWriteContract({ + abi: iMulticall3Abi, + functionName: 'blockAndAggregate', + }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc20Abi}__ and `functionName` set to `"allowance"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"tryAggregate"` */ -export const useReadErc20Allowance = /*#__PURE__*/ createUseReadContract({ - abi: erc20Abi, - functionName: 'allowance', -}) +export const useWriteIMulticall3TryAggregate = + /*#__PURE__*/ createUseWriteContract({ + abi: iMulticall3Abi, + functionName: 'tryAggregate', + }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc20Abi}__ and `functionName` set to `"balanceOf"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"tryBlockAndAggregate"` */ -export const useReadErc20BalanceOf = /*#__PURE__*/ createUseReadContract({ - abi: erc20Abi, - functionName: 'balanceOf', -}) +export const useWriteIMulticall3TryBlockAndAggregate = + /*#__PURE__*/ createUseWriteContract({ + abi: iMulticall3Abi, + functionName: 'tryBlockAndAggregate', + }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc20Abi}__ and `functionName` set to `"decimals"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link iMulticall3Abi}__ */ -export const useReadErc20Decimals = /*#__PURE__*/ createUseReadContract({ - abi: erc20Abi, - functionName: 'decimals', +export const useSimulateIMulticall3 = /*#__PURE__*/ createUseSimulateContract({ + abi: iMulticall3Abi, }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc20Abi}__ and `functionName` set to `"name"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"aggregate"` */ -export const useReadErc20Name = /*#__PURE__*/ createUseReadContract({ - abi: erc20Abi, - functionName: 'name', -}) +export const useSimulateIMulticall3Aggregate = + /*#__PURE__*/ createUseSimulateContract({ + abi: iMulticall3Abi, + functionName: 'aggregate', + }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc20Abi}__ and `functionName` set to `"symbol"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"aggregate3"` */ -export const useReadErc20Symbol = /*#__PURE__*/ createUseReadContract({ - abi: erc20Abi, - functionName: 'symbol', -}) +export const useSimulateIMulticall3Aggregate3 = + /*#__PURE__*/ createUseSimulateContract({ + abi: iMulticall3Abi, + functionName: 'aggregate3', + }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc20Abi}__ and `functionName` set to `"totalSupply"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"aggregate3Value"` */ -export const useReadErc20TotalSupply = /*#__PURE__*/ createUseReadContract({ - abi: erc20Abi, - functionName: 'totalSupply', -}) +export const useSimulateIMulticall3Aggregate3Value = + /*#__PURE__*/ createUseSimulateContract({ + abi: iMulticall3Abi, + functionName: 'aggregate3Value', + }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link erc20Abi}__ + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"blockAndAggregate"` */ -export const useWriteErc20 = /*#__PURE__*/ createUseWriteContract({ - abi: erc20Abi, -}) +export const useSimulateIMulticall3BlockAndAggregate = + /*#__PURE__*/ createUseSimulateContract({ + abi: iMulticall3Abi, + functionName: 'blockAndAggregate', + }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link erc20Abi}__ and `functionName` set to `"approve"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"tryAggregate"` */ -export const useWriteErc20Approve = /*#__PURE__*/ createUseWriteContract({ - abi: erc20Abi, - functionName: 'approve', -}) +export const useSimulateIMulticall3TryAggregate = + /*#__PURE__*/ createUseSimulateContract({ + abi: iMulticall3Abi, + functionName: 'tryAggregate', + }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link erc20Abi}__ and `functionName` set to `"transfer"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"tryBlockAndAggregate"` */ -export const useWriteErc20Transfer = /*#__PURE__*/ createUseWriteContract({ - abi: erc20Abi, - functionName: 'transfer', -}) +export const useSimulateIMulticall3TryBlockAndAggregate = + /*#__PURE__*/ createUseSimulateContract({ + abi: iMulticall3Abi, + functionName: 'tryBlockAndAggregate', + }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link erc20Abi}__ and `functionName` set to `"transferFrom"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link iProxyAdminAbi}__ */ -export const useWriteErc20TransferFrom = /*#__PURE__*/ createUseWriteContract({ - abi: erc20Abi, - functionName: 'transferFrom', +export const useWriteIProxyAdmin = /*#__PURE__*/ createUseWriteContract({ + abi: iProxyAdminAbi, }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link erc20Abi}__ + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link iProxyAdminAbi}__ and `functionName` set to `"upgrade"` */ -export const useSimulateErc20 = /*#__PURE__*/ createUseSimulateContract({ - abi: erc20Abi, +export const useWriteIProxyAdminUpgrade = /*#__PURE__*/ createUseWriteContract({ + abi: iProxyAdminAbi, + functionName: 'upgrade', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link erc20Abi}__ and `functionName` set to `"approve"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link iProxyAdminAbi}__ and `functionName` set to `"upgradeAndCall"` */ -export const useSimulateErc20Approve = /*#__PURE__*/ createUseSimulateContract({ - abi: erc20Abi, - functionName: 'approve', +export const useWriteIProxyAdminUpgradeAndCall = + /*#__PURE__*/ createUseWriteContract({ + abi: iProxyAdminAbi, + functionName: 'upgradeAndCall', + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link iProxyAdminAbi}__ + */ +export const useSimulateIProxyAdmin = /*#__PURE__*/ createUseSimulateContract({ + abi: iProxyAdminAbi, }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link erc20Abi}__ and `functionName` set to `"transfer"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link iProxyAdminAbi}__ and `functionName` set to `"upgrade"` */ -export const useSimulateErc20Transfer = /*#__PURE__*/ createUseSimulateContract( - { abi: erc20Abi, functionName: 'transfer' }, -) +export const useSimulateIProxyAdminUpgrade = + /*#__PURE__*/ createUseSimulateContract({ + abi: iProxyAdminAbi, + functionName: 'upgrade', + }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link erc20Abi}__ and `functionName` set to `"transferFrom"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link iProxyAdminAbi}__ and `functionName` set to `"upgradeAndCall"` */ -export const useSimulateErc20TransferFrom = +export const useSimulateIProxyAdminUpgradeAndCall = /*#__PURE__*/ createUseSimulateContract({ - abi: erc20Abi, - functionName: 'transferFrom', + abi: iProxyAdminAbi, + functionName: 'upgradeAndCall', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link erc20Abi}__ + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link iTransparentUpgradeableProxyAbi}__ */ -export const useWatchErc20Event = /*#__PURE__*/ createUseWatchContractEvent({ - abi: erc20Abi, -}) +export const useWriteITransparentUpgradeableProxy = + /*#__PURE__*/ createUseWriteContract({ abi: iTransparentUpgradeableProxyAbi }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link erc20Abi}__ and `eventName` set to `"Approval"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link iTransparentUpgradeableProxyAbi}__ and `functionName` set to `"upgradeToAndCall"` */ -export const useWatchErc20ApprovalEvent = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: erc20Abi, - eventName: 'Approval', +export const useWriteITransparentUpgradeableProxyUpgradeToAndCall = + /*#__PURE__*/ createUseWriteContract({ + abi: iTransparentUpgradeableProxyAbi, + functionName: 'upgradeToAndCall', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link erc20Abi}__ and `eventName` set to `"Transfer"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link iTransparentUpgradeableProxyAbi}__ */ -export const useWatchErc20TransferEvent = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: erc20Abi, - eventName: 'Transfer', +export const useSimulateITransparentUpgradeableProxy = + /*#__PURE__*/ createUseSimulateContract({ + abi: iTransparentUpgradeableProxyAbi, }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc721Abi}__ + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link iTransparentUpgradeableProxyAbi}__ and `functionName` set to `"upgradeToAndCall"` */ -export const useReadErc721 = /*#__PURE__*/ createUseReadContract({ - abi: erc721Abi, -}) +export const useSimulateITransparentUpgradeableProxyUpgradeToAndCall = + /*#__PURE__*/ createUseSimulateContract({ + abi: iTransparentUpgradeableProxyAbi, + functionName: 'upgradeToAndCall', + }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc721Abi}__ and `functionName` set to `"balanceOf"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link iTransparentUpgradeableProxyAbi}__ */ -export const useReadErc721BalanceOf = /*#__PURE__*/ createUseReadContract({ - abi: erc721Abi, - functionName: 'balanceOf', -}) +export const useWatchITransparentUpgradeableProxyEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: iTransparentUpgradeableProxyAbi, + }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc721Abi}__ and `functionName` set to `"getApproved"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link iTransparentUpgradeableProxyAbi}__ and `eventName` set to `"AdminChanged"` */ -export const useReadErc721GetApproved = /*#__PURE__*/ createUseReadContract({ - abi: erc721Abi, - functionName: 'getApproved', -}) +export const useWatchITransparentUpgradeableProxyAdminChangedEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: iTransparentUpgradeableProxyAbi, + eventName: 'AdminChanged', + }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc721Abi}__ and `functionName` set to `"isApprovedForAll"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link iTransparentUpgradeableProxyAbi}__ and `eventName` set to `"BeaconUpgraded"` */ -export const useReadErc721IsApprovedForAll = - /*#__PURE__*/ createUseReadContract({ - abi: erc721Abi, - functionName: 'isApprovedForAll', +export const useWatchITransparentUpgradeableProxyBeaconUpgradedEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: iTransparentUpgradeableProxyAbi, + eventName: 'BeaconUpgraded', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc721Abi}__ and `functionName` set to `"name"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link iTransparentUpgradeableProxyAbi}__ and `eventName` set to `"Upgraded"` */ -export const useReadErc721Name = /*#__PURE__*/ createUseReadContract({ - abi: erc721Abi, - functionName: 'name', -}) +export const useWatchITransparentUpgradeableProxyUpgradedEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: iTransparentUpgradeableProxyAbi, + eventName: 'Upgraded', + }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc721Abi}__ and `functionName` set to `"ownerOf"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link iUpgradeableBeaconAbi}__ */ -export const useReadErc721OwnerOf = /*#__PURE__*/ createUseReadContract({ - abi: erc721Abi, - functionName: 'ownerOf', +export const useWriteIUpgradeableBeacon = /*#__PURE__*/ createUseWriteContract({ + abi: iUpgradeableBeaconAbi, }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc721Abi}__ and `functionName` set to `"supportsInterface"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link iUpgradeableBeaconAbi}__ and `functionName` set to `"upgradeTo"` */ -export const useReadErc721SupportsInterface = - /*#__PURE__*/ createUseReadContract({ - abi: erc721Abi, - functionName: 'supportsInterface', +export const useWriteIUpgradeableBeaconUpgradeTo = + /*#__PURE__*/ createUseWriteContract({ + abi: iUpgradeableBeaconAbi, + functionName: 'upgradeTo', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc721Abi}__ and `functionName` set to `"symbol"` - */ -export const useReadErc721Symbol = /*#__PURE__*/ createUseReadContract({ - abi: erc721Abi, - functionName: 'symbol', -}) - -/** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc721Abi}__ and `functionName` set to `"tokenURI"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link iUpgradeableBeaconAbi}__ */ -export const useReadErc721TokenUri = /*#__PURE__*/ createUseReadContract({ - abi: erc721Abi, - functionName: 'tokenURI', -}) +export const useSimulateIUpgradeableBeacon = + /*#__PURE__*/ createUseSimulateContract({ abi: iUpgradeableBeaconAbi }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link erc721Abi}__ + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link iUpgradeableBeaconAbi}__ and `functionName` set to `"upgradeTo"` */ -export const useWriteErc721 = /*#__PURE__*/ createUseWriteContract({ - abi: erc721Abi, -}) +export const useSimulateIUpgradeableBeaconUpgradeTo = + /*#__PURE__*/ createUseSimulateContract({ + abi: iUpgradeableBeaconAbi, + functionName: 'upgradeTo', + }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link erc721Abi}__ and `functionName` set to `"approve"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link iUpgradeableProxyAbi}__ */ -export const useWriteErc721Approve = /*#__PURE__*/ createUseWriteContract({ - abi: erc721Abi, - functionName: 'approve', +export const useWriteIUpgradeableProxy = /*#__PURE__*/ createUseWriteContract({ + abi: iUpgradeableProxyAbi, }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link erc721Abi}__ and `functionName` set to `"safeTransferFrom"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link iUpgradeableProxyAbi}__ and `functionName` set to `"upgradeTo"` */ -export const useWriteErc721SafeTransferFrom = +export const useWriteIUpgradeableProxyUpgradeTo = /*#__PURE__*/ createUseWriteContract({ - abi: erc721Abi, - functionName: 'safeTransferFrom', + abi: iUpgradeableProxyAbi, + functionName: 'upgradeTo', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link erc721Abi}__ and `functionName` set to `"setApprovalForAll"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link iUpgradeableProxyAbi}__ and `functionName` set to `"upgradeToAndCall"` */ -export const useWriteErc721SetApprovalForAll = +export const useWriteIUpgradeableProxyUpgradeToAndCall = /*#__PURE__*/ createUseWriteContract({ - abi: erc721Abi, - functionName: 'setApprovalForAll', + abi: iUpgradeableProxyAbi, + functionName: 'upgradeToAndCall', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link erc721Abi}__ and `functionName` set to `"transferFrom"` - */ -export const useWriteErc721TransferFrom = /*#__PURE__*/ createUseWriteContract({ - abi: erc721Abi, - functionName: 'transferFrom', -}) - -/** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link erc721Abi}__ + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link iUpgradeableProxyAbi}__ */ -export const useSimulateErc721 = /*#__PURE__*/ createUseSimulateContract({ - abi: erc721Abi, -}) +export const useSimulateIUpgradeableProxy = + /*#__PURE__*/ createUseSimulateContract({ abi: iUpgradeableProxyAbi }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link erc721Abi}__ and `functionName` set to `"approve"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link iUpgradeableProxyAbi}__ and `functionName` set to `"upgradeTo"` */ -export const useSimulateErc721Approve = /*#__PURE__*/ createUseSimulateContract( - { abi: erc721Abi, functionName: 'approve' }, -) +export const useSimulateIUpgradeableProxyUpgradeTo = + /*#__PURE__*/ createUseSimulateContract({ + abi: iUpgradeableProxyAbi, + functionName: 'upgradeTo', + }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link erc721Abi}__ and `functionName` set to `"safeTransferFrom"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link iUpgradeableProxyAbi}__ and `functionName` set to `"upgradeToAndCall"` */ -export const useSimulateErc721SafeTransferFrom = +export const useSimulateIUpgradeableProxyUpgradeToAndCall = /*#__PURE__*/ createUseSimulateContract({ - abi: erc721Abi, - functionName: 'safeTransferFrom', + abi: iUpgradeableProxyAbi, + functionName: 'upgradeToAndCall', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link erc721Abi}__ and `functionName` set to `"setApprovalForAll"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link initializableAbi}__ */ -export const useSimulateErc721SetApprovalForAll = - /*#__PURE__*/ createUseSimulateContract({ - abi: erc721Abi, - functionName: 'setApprovalForAll', - }) +export const useWatchInitializableEvent = + /*#__PURE__*/ createUseWatchContractEvent({ abi: initializableAbi }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link erc721Abi}__ and `functionName` set to `"transferFrom"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link initializableAbi}__ and `eventName` set to `"Initialized"` */ -export const useSimulateErc721TransferFrom = - /*#__PURE__*/ createUseSimulateContract({ - abi: erc721Abi, - functionName: 'transferFrom', +export const useWatchInitializableInitializedEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: initializableAbi, + eventName: 'Initialized', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link erc721Abi}__ + * Wraps __{@link useReadContract}__ with `abi` set to __{@link nftAbi}__ + * + * */ -export const useWatchErc721Event = /*#__PURE__*/ createUseWatchContractEvent({ - abi: erc721Abi, +export const useReadNft = /*#__PURE__*/ createUseReadContract({ + abi: nftAbi, + address: nftAddress, }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link erc721Abi}__ and `eventName` set to `"Approval"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"balanceOf"` + * + * */ -export const useWatchErc721ApprovalEvent = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: erc721Abi, - eventName: 'Approval', - }) +export const useReadNftBalanceOf = /*#__PURE__*/ createUseReadContract({ + abi: nftAbi, + address: nftAddress, + functionName: 'balanceOf', +}) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link erc721Abi}__ and `eventName` set to `"ApprovalForAll"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"currentId"` + * + * */ -export const useWatchErc721ApprovalForAllEvent = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: erc721Abi, - eventName: 'ApprovalForAll', - }) +export const useReadNftCurrentId = /*#__PURE__*/ createUseReadContract({ + abi: nftAbi, + address: nftAddress, + functionName: 'currentId', +}) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link erc721Abi}__ and `eventName` set to `"Transfer"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"getApproved"` + * + * */ -export const useWatchErc721TransferEvent = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: erc721Abi, - eventName: 'Transfer', - }) +export const useReadNftGetApproved = /*#__PURE__*/ createUseReadContract({ + abi: nftAbi, + address: nftAddress, + functionName: 'getApproved', +}) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ + * Wraps __{@link useReadContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"isApprovedForAll"` + * + * */ -export const useReadErc721Enumerable = /*#__PURE__*/ createUseReadContract({ - abi: erc721EnumerableAbi, +export const useReadNftIsApprovedForAll = /*#__PURE__*/ createUseReadContract({ + abi: nftAbi, + address: nftAddress, + functionName: 'isApprovedForAll', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `functionName` set to `"balanceOf"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"listTokensByAddress"` + * + * */ -export const useReadErc721EnumerableBalanceOf = +export const useReadNftListTokensByAddress = /*#__PURE__*/ createUseReadContract({ - abi: erc721EnumerableAbi, - functionName: 'balanceOf', + abi: nftAbi, + address: nftAddress, + functionName: 'listTokensByAddress', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `functionName` set to `"getApproved"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"name"` + * + * */ -export const useReadErc721EnumerableGetApproved = - /*#__PURE__*/ createUseReadContract({ - abi: erc721EnumerableAbi, - functionName: 'getApproved', - }) +export const useReadNftName = /*#__PURE__*/ createUseReadContract({ + abi: nftAbi, + address: nftAddress, + functionName: 'name', +}) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `functionName` set to `"isApprovedForAll"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"ownerOf"` + * + * */ -export const useReadErc721EnumerableIsApprovedForAll = - /*#__PURE__*/ createUseReadContract({ - abi: erc721EnumerableAbi, - functionName: 'isApprovedForAll', - }) +export const useReadNftOwnerOf = /*#__PURE__*/ createUseReadContract({ + abi: nftAbi, + address: nftAddress, + functionName: 'ownerOf', +}) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `functionName` set to `"name"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"supportsInterface"` + * + * */ -export const useReadErc721EnumerableName = /*#__PURE__*/ createUseReadContract({ - abi: erc721EnumerableAbi, - functionName: 'name', +export const useReadNftSupportsInterface = /*#__PURE__*/ createUseReadContract({ + abi: nftAbi, + address: nftAddress, + functionName: 'supportsInterface', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `functionName` set to `"ownerOf"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"symbol"` + * + * */ -export const useReadErc721EnumerableOwnerOf = - /*#__PURE__*/ createUseReadContract({ - abi: erc721EnumerableAbi, - functionName: 'ownerOf', - }) +export const useReadNftSymbol = /*#__PURE__*/ createUseReadContract({ + abi: nftAbi, + address: nftAddress, + functionName: 'symbol', +}) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `functionName` set to `"supportsInterface"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"tokenByIndex"` + * + * */ -export const useReadErc721EnumerableSupportsInterface = - /*#__PURE__*/ createUseReadContract({ - abi: erc721EnumerableAbi, - functionName: 'supportsInterface', - }) +export const useReadNftTokenByIndex = /*#__PURE__*/ createUseReadContract({ + abi: nftAbi, + address: nftAddress, + functionName: 'tokenByIndex', +}) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `functionName` set to `"symbol"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"tokenOfOwnerByIndex"` + * + * */ -export const useReadErc721EnumerableSymbol = +export const useReadNftTokenOfOwnerByIndex = /*#__PURE__*/ createUseReadContract({ - abi: erc721EnumerableAbi, - functionName: 'symbol', + abi: nftAbi, + address: nftAddress, + functionName: 'tokenOfOwnerByIndex', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `functionName` set to `"tokenByIndex"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"tokenURI"` + * + * */ -export const useReadErc721EnumerableTokenByIndex = - /*#__PURE__*/ createUseReadContract({ - abi: erc721EnumerableAbi, - functionName: 'tokenByIndex', - }) +export const useReadNftTokenUri = /*#__PURE__*/ createUseReadContract({ + abi: nftAbi, + address: nftAddress, + functionName: 'tokenURI', +}) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `functionName` set to `"tokenOfOwnerByIndex"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"totalSupply"` + * + * */ -export const useReadErc721EnumerableTokenOfOwnerByIndex = - /*#__PURE__*/ createUseReadContract({ - abi: erc721EnumerableAbi, - functionName: 'tokenOfOwnerByIndex', - }) +export const useReadNftTotalSupply = /*#__PURE__*/ createUseReadContract({ + abi: nftAbi, + address: nftAddress, + functionName: 'totalSupply', +}) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `functionName` set to `"tokenURI"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link nftAbi}__ + * + * */ -export const useReadErc721EnumerableTokenUri = - /*#__PURE__*/ createUseReadContract({ - abi: erc721EnumerableAbi, - functionName: 'tokenURI', - }) +export const useWriteNft = /*#__PURE__*/ createUseWriteContract({ + abi: nftAbi, + address: nftAddress, +}) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `functionName` set to `"totalSupply"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"approve"` + * + * */ -export const useReadErc721EnumerableTotalSupply = - /*#__PURE__*/ createUseReadContract({ - abi: erc721EnumerableAbi, - functionName: 'totalSupply', - }) +export const useWriteNftApprove = /*#__PURE__*/ createUseWriteContract({ + abi: nftAbi, + address: nftAddress, + functionName: 'approve', +}) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"mint"` + * + * */ -export const useWriteErc721Enumerable = /*#__PURE__*/ createUseWriteContract({ - abi: erc721EnumerableAbi, +export const useWriteNftMint = /*#__PURE__*/ createUseWriteContract({ + abi: nftAbi, + address: nftAddress, + functionName: 'mint', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `functionName` set to `"approve"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"safeTransferFrom"` + * + * */ -export const useWriteErc721EnumerableApprove = - /*#__PURE__*/ createUseWriteContract({ - abi: erc721EnumerableAbi, - functionName: 'approve', - }) +export const useWriteNftSafeTransferFrom = /*#__PURE__*/ createUseWriteContract( + { abi: nftAbi, address: nftAddress, functionName: 'safeTransferFrom' }, +) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `functionName` set to `"safeTransferFrom"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"setApprovalForAll"` + * + * */ -export const useWriteErc721EnumerableSafeTransferFrom = +export const useWriteNftSetApprovalForAll = /*#__PURE__*/ createUseWriteContract({ - abi: erc721EnumerableAbi, - functionName: 'safeTransferFrom', + abi: nftAbi, + address: nftAddress, + functionName: 'setApprovalForAll', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `functionName` set to `"setApprovalForAll"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"transferFrom"` + * + * */ -export const useWriteErc721EnumerableSetApprovalForAll = - /*#__PURE__*/ createUseWriteContract({ - abi: erc721EnumerableAbi, - functionName: 'setApprovalForAll', - }) +export const useWriteNftTransferFrom = /*#__PURE__*/ createUseWriteContract({ + abi: nftAbi, + address: nftAddress, + functionName: 'transferFrom', +}) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `functionName` set to `"transferFrom"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link nftAbi}__ + * + * */ -export const useWriteErc721EnumerableTransferFrom = - /*#__PURE__*/ createUseWriteContract({ - abi: erc721EnumerableAbi, - functionName: 'transferFrom', - }) +export const useSimulateNft = /*#__PURE__*/ createUseSimulateContract({ + abi: nftAbi, + address: nftAddress, +}) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"approve"` + * + * */ -export const useSimulateErc721Enumerable = - /*#__PURE__*/ createUseSimulateContract({ abi: erc721EnumerableAbi }) +export const useSimulateNftApprove = /*#__PURE__*/ createUseSimulateContract({ + abi: nftAbi, + address: nftAddress, + functionName: 'approve', +}) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `functionName` set to `"approve"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"mint"` + * + * */ -export const useSimulateErc721EnumerableApprove = - /*#__PURE__*/ createUseSimulateContract({ - abi: erc721EnumerableAbi, - functionName: 'approve', - }) +export const useSimulateNftMint = /*#__PURE__*/ createUseSimulateContract({ + abi: nftAbi, + address: nftAddress, + functionName: 'mint', +}) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `functionName` set to `"safeTransferFrom"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"safeTransferFrom"` + * + * */ -export const useSimulateErc721EnumerableSafeTransferFrom = +export const useSimulateNftSafeTransferFrom = /*#__PURE__*/ createUseSimulateContract({ - abi: erc721EnumerableAbi, + abi: nftAbi, + address: nftAddress, functionName: 'safeTransferFrom', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `functionName` set to `"setApprovalForAll"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"setApprovalForAll"` + * + * */ -export const useSimulateErc721EnumerableSetApprovalForAll = +export const useSimulateNftSetApprovalForAll = /*#__PURE__*/ createUseSimulateContract({ - abi: erc721EnumerableAbi, + abi: nftAbi, + address: nftAddress, functionName: 'setApprovalForAll', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `functionName` set to `"transferFrom"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"transferFrom"` + * + * */ -export const useSimulateErc721EnumerableTransferFrom = +export const useSimulateNftTransferFrom = /*#__PURE__*/ createUseSimulateContract({ - abi: erc721EnumerableAbi, + abi: nftAbi, + address: nftAddress, functionName: 'transferFrom', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link erc721EnumerableAbi}__ + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link nftAbi}__ + * + * */ -export const useWatchErc721EnumerableEvent = - /*#__PURE__*/ createUseWatchContractEvent({ abi: erc721EnumerableAbi }) +export const useWatchNftEvent = /*#__PURE__*/ createUseWatchContractEvent({ + abi: nftAbi, + address: nftAddress, +}) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `eventName` set to `"Approval"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link nftAbi}__ and `eventName` set to `"Approval"` + * + * */ -export const useWatchErc721EnumerableApprovalEvent = +export const useWatchNftApprovalEvent = /*#__PURE__*/ createUseWatchContractEvent({ - abi: erc721EnumerableAbi, + abi: nftAbi, + address: nftAddress, eventName: 'Approval', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `eventName` set to `"ApprovalForAll"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link nftAbi}__ and `eventName` set to `"ApprovalForAll"` + * + * */ -export const useWatchErc721EnumerableApprovalForAllEvent = +export const useWatchNftApprovalForAllEvent = /*#__PURE__*/ createUseWatchContractEvent({ - abi: erc721EnumerableAbi, + abi: nftAbi, + address: nftAddress, eventName: 'ApprovalForAll', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link erc721EnumerableAbi}__ and `eventName` set to `"Transfer"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link nftAbi}__ and `eventName` set to `"Transfer"` + * + * */ -export const useWatchErc721EnumerableTransferEvent = +export const useWatchNftTransferEvent = /*#__PURE__*/ createUseWatchContractEvent({ - abi: erc721EnumerableAbi, + abi: nftAbi, + address: nftAddress, eventName: 'Transfer', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link iBeaconAbi}__ + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ownableAbi}__ */ -export const useReadIBeacon = /*#__PURE__*/ createUseReadContract({ - abi: iBeaconAbi, +export const useReadOwnable = /*#__PURE__*/ createUseReadContract({ + abi: ownableAbi, }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link iBeaconAbi}__ and `functionName` set to `"implementation"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ownableAbi}__ and `functionName` set to `"owner"` */ -export const useReadIBeaconImplementation = /*#__PURE__*/ createUseReadContract( - { abi: iBeaconAbi, functionName: 'implementation' }, -) +export const useReadOwnableOwner = /*#__PURE__*/ createUseReadContract({ + abi: ownableAbi, + functionName: 'owner', +}) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ierc1967Abi}__ + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ownableAbi}__ */ -export const useWatchIerc1967Event = /*#__PURE__*/ createUseWatchContractEvent({ - abi: ierc1967Abi, +export const useWriteOwnable = /*#__PURE__*/ createUseWriteContract({ + abi: ownableAbi, }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ierc1967Abi}__ and `eventName` set to `"AdminChanged"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ownableAbi}__ and `functionName` set to `"renounceOwnership"` */ -export const useWatchIerc1967AdminChangedEvent = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: ierc1967Abi, - eventName: 'AdminChanged', +export const useWriteOwnableRenounceOwnership = + /*#__PURE__*/ createUseWriteContract({ + abi: ownableAbi, + functionName: 'renounceOwnership', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ierc1967Abi}__ and `eventName` set to `"BeaconUpgraded"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ownableAbi}__ and `functionName` set to `"transferOwnership"` */ -export const useWatchIerc1967BeaconUpgradedEvent = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: ierc1967Abi, - eventName: 'BeaconUpgraded', +export const useWriteOwnableTransferOwnership = + /*#__PURE__*/ createUseWriteContract({ + abi: ownableAbi, + functionName: 'transferOwnership', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ierc1967Abi}__ and `eventName` set to `"Upgraded"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ownableAbi}__ */ -export const useWatchIerc1967UpgradedEvent = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: ierc1967Abi, - eventName: 'Upgraded', - }) +export const useSimulateOwnable = /*#__PURE__*/ createUseSimulateContract({ + abi: ownableAbi, +}) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc20MetadataAbi}__ + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ownableAbi}__ and `functionName` set to `"renounceOwnership"` */ -export const useReadIerc20Metadata = /*#__PURE__*/ createUseReadContract({ - abi: ierc20MetadataAbi, -}) +export const useSimulateOwnableRenounceOwnership = + /*#__PURE__*/ createUseSimulateContract({ + abi: ownableAbi, + functionName: 'renounceOwnership', + }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc20MetadataAbi}__ and `functionName` set to `"allowance"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ownableAbi}__ and `functionName` set to `"transferOwnership"` */ -export const useReadIerc20MetadataAllowance = - /*#__PURE__*/ createUseReadContract({ - abi: ierc20MetadataAbi, - functionName: 'allowance', +export const useSimulateOwnableTransferOwnership = + /*#__PURE__*/ createUseSimulateContract({ + abi: ownableAbi, + functionName: 'transferOwnership', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc20MetadataAbi}__ and `functionName` set to `"balanceOf"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ownableAbi}__ */ -export const useReadIerc20MetadataBalanceOf = - /*#__PURE__*/ createUseReadContract({ - abi: ierc20MetadataAbi, - functionName: 'balanceOf', - }) +export const useWatchOwnableEvent = /*#__PURE__*/ createUseWatchContractEvent({ + abi: ownableAbi, +}) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc20MetadataAbi}__ and `functionName` set to `"decimals"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ownableAbi}__ and `eventName` set to `"OwnershipTransferred"` */ -export const useReadIerc20MetadataDecimals = - /*#__PURE__*/ createUseReadContract({ - abi: ierc20MetadataAbi, - functionName: 'decimals', +export const useWatchOwnableOwnershipTransferredEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: ownableAbi, + eventName: 'OwnershipTransferred', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc20MetadataAbi}__ and `functionName` set to `"name"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ownedRegistryAbi}__ + * + * */ -export const useReadIerc20MetadataName = /*#__PURE__*/ createUseReadContract({ - abi: ierc20MetadataAbi, - functionName: 'name', +export const useReadOwnedRegistry = /*#__PURE__*/ createUseReadContract({ + abi: ownedRegistryAbi, + address: ownedRegistryAddress, }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc20MetadataAbi}__ and `functionName` set to `"symbol"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ownedRegistryAbi}__ and `functionName` set to `"owner"` + * + * */ -export const useReadIerc20MetadataSymbol = /*#__PURE__*/ createUseReadContract({ - abi: ierc20MetadataAbi, - functionName: 'symbol', +export const useReadOwnedRegistryOwner = /*#__PURE__*/ createUseReadContract({ + abi: ownedRegistryAbi, + address: ownedRegistryAddress, + functionName: 'owner', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc20MetadataAbi}__ and `functionName` set to `"totalSupply"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ownedRegistryAbi}__ and `functionName` set to `"value"` + * + * */ -export const useReadIerc20MetadataTotalSupply = - /*#__PURE__*/ createUseReadContract({ - abi: ierc20MetadataAbi, - functionName: 'totalSupply', - }) +export const useReadOwnedRegistryValue = /*#__PURE__*/ createUseReadContract({ + abi: ownedRegistryAbi, + address: ownedRegistryAddress, + functionName: 'value', +}) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ierc20MetadataAbi}__ + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ownedRegistryAbi}__ + * + * */ -export const useWriteIerc20Metadata = /*#__PURE__*/ createUseWriteContract({ - abi: ierc20MetadataAbi, +export const useWriteOwnedRegistry = /*#__PURE__*/ createUseWriteContract({ + abi: ownedRegistryAbi, + address: ownedRegistryAddress, }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ierc20MetadataAbi}__ and `functionName` set to `"approve"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ownedRegistryAbi}__ and `functionName` set to `"renounceOwnership"` + * + * */ -export const useWriteIerc20MetadataApprove = +export const useWriteOwnedRegistryRenounceOwnership = /*#__PURE__*/ createUseWriteContract({ - abi: ierc20MetadataAbi, - functionName: 'approve', + abi: ownedRegistryAbi, + address: ownedRegistryAddress, + functionName: 'renounceOwnership', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ierc20MetadataAbi}__ and `functionName` set to `"transfer"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ownedRegistryAbi}__ and `functionName` set to `"setValue"` + * + * */ -export const useWriteIerc20MetadataTransfer = +export const useWriteOwnedRegistrySetValue = /*#__PURE__*/ createUseWriteContract({ - abi: ierc20MetadataAbi, - functionName: 'transfer', + abi: ownedRegistryAbi, + address: ownedRegistryAddress, + functionName: 'setValue', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ierc20MetadataAbi}__ and `functionName` set to `"transferFrom"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ownedRegistryAbi}__ and `functionName` set to `"transferOwnership"` + * + * */ -export const useWriteIerc20MetadataTransferFrom = +export const useWriteOwnedRegistryTransferOwnership = /*#__PURE__*/ createUseWriteContract({ - abi: ierc20MetadataAbi, - functionName: 'transferFrom', + abi: ownedRegistryAbi, + address: ownedRegistryAddress, + functionName: 'transferOwnership', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ierc20MetadataAbi}__ - */ -export const useSimulateIerc20Metadata = - /*#__PURE__*/ createUseSimulateContract({ abi: ierc20MetadataAbi }) - -/** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ierc20MetadataAbi}__ and `functionName` set to `"approve"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ownedRegistryAbi}__ + * + * */ -export const useSimulateIerc20MetadataApprove = - /*#__PURE__*/ createUseSimulateContract({ - abi: ierc20MetadataAbi, - functionName: 'approve', - }) +export const useSimulateOwnedRegistry = /*#__PURE__*/ createUseSimulateContract( + { abi: ownedRegistryAbi, address: ownedRegistryAddress }, +) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ierc20MetadataAbi}__ and `functionName` set to `"transfer"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ownedRegistryAbi}__ and `functionName` set to `"renounceOwnership"` + * + * */ -export const useSimulateIerc20MetadataTransfer = +export const useSimulateOwnedRegistryRenounceOwnership = /*#__PURE__*/ createUseSimulateContract({ - abi: ierc20MetadataAbi, - functionName: 'transfer', + abi: ownedRegistryAbi, + address: ownedRegistryAddress, + functionName: 'renounceOwnership', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ierc20MetadataAbi}__ and `functionName` set to `"transferFrom"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ownedRegistryAbi}__ and `functionName` set to `"setValue"` + * + * */ -export const useSimulateIerc20MetadataTransferFrom = +export const useSimulateOwnedRegistrySetValue = /*#__PURE__*/ createUseSimulateContract({ - abi: ierc20MetadataAbi, - functionName: 'transferFrom', - }) - -/** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ierc20MetadataAbi}__ - */ -export const useWatchIerc20MetadataEvent = - /*#__PURE__*/ createUseWatchContractEvent({ abi: ierc20MetadataAbi }) - -/** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ierc20MetadataAbi}__ and `eventName` set to `"Approval"` - */ -export const useWatchIerc20MetadataApprovalEvent = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: ierc20MetadataAbi, - eventName: 'Approval', + abi: ownedRegistryAbi, + address: ownedRegistryAddress, + functionName: 'setValue', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ierc20MetadataAbi}__ and `eventName` set to `"Transfer"` - */ -export const useWatchIerc20MetadataTransferEvent = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: ierc20MetadataAbi, - eventName: 'Transfer', - }) - -/** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc721EnumerableAbi}__ - */ -export const useReadIerc721Enumerable = /*#__PURE__*/ createUseReadContract({ - abi: ierc721EnumerableAbi, -}) - -/** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc721EnumerableAbi}__ and `functionName` set to `"balanceOf"` - */ -export const useReadIerc721EnumerableBalanceOf = - /*#__PURE__*/ createUseReadContract({ - abi: ierc721EnumerableAbi, - functionName: 'balanceOf', - }) - -/** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc721EnumerableAbi}__ and `functionName` set to `"getApproved"` - */ -export const useReadIerc721EnumerableGetApproved = - /*#__PURE__*/ createUseReadContract({ - abi: ierc721EnumerableAbi, - functionName: 'getApproved', + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ownedRegistryAbi}__ and `functionName` set to `"transferOwnership"` + * + * + */ +export const useSimulateOwnedRegistryTransferOwnership = + /*#__PURE__*/ createUseSimulateContract({ + abi: ownedRegistryAbi, + address: ownedRegistryAddress, + functionName: 'transferOwnership', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc721EnumerableAbi}__ and `functionName` set to `"isApprovedForAll"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ownedRegistryAbi}__ + * + * */ -export const useReadIerc721EnumerableIsApprovedForAll = - /*#__PURE__*/ createUseReadContract({ - abi: ierc721EnumerableAbi, - functionName: 'isApprovedForAll', +export const useWatchOwnedRegistryEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: ownedRegistryAbi, + address: ownedRegistryAddress, }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc721EnumerableAbi}__ and `functionName` set to `"ownerOf"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ownedRegistryAbi}__ and `eventName` set to `"OwnershipTransferred"` + * + * */ -export const useReadIerc721EnumerableOwnerOf = - /*#__PURE__*/ createUseReadContract({ - abi: ierc721EnumerableAbi, - functionName: 'ownerOf', +export const useWatchOwnedRegistryOwnershipTransferredEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: ownedRegistryAbi, + address: ownedRegistryAddress, + eventName: 'OwnershipTransferred', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc721EnumerableAbi}__ and `functionName` set to `"supportsInterface"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ownedRegistryAbi}__ and `eventName` set to `"ValueSet"` + * + * */ -export const useReadIerc721EnumerableSupportsInterface = - /*#__PURE__*/ createUseReadContract({ - abi: ierc721EnumerableAbi, - functionName: 'supportsInterface', +export const useWatchOwnedRegistryValueSetEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: ownedRegistryAbi, + address: ownedRegistryAddress, + eventName: 'ValueSet', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc721EnumerableAbi}__ and `functionName` set to `"tokenByIndex"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ownedRegistryTestAbi}__ */ -export const useReadIerc721EnumerableTokenByIndex = - /*#__PURE__*/ createUseReadContract({ - abi: ierc721EnumerableAbi, - functionName: 'tokenByIndex', - }) +export const useReadOwnedRegistryTest = /*#__PURE__*/ createUseReadContract({ + abi: ownedRegistryTestAbi, +}) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc721EnumerableAbi}__ and `functionName` set to `"tokenOfOwnerByIndex"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ownedRegistryTestAbi}__ and `functionName` set to `"IS_TEST"` */ -export const useReadIerc721EnumerableTokenOfOwnerByIndex = +export const useReadOwnedRegistryTestIsTest = /*#__PURE__*/ createUseReadContract({ - abi: ierc721EnumerableAbi, - functionName: 'tokenOfOwnerByIndex', + abi: ownedRegistryTestAbi, + functionName: 'IS_TEST', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc721EnumerableAbi}__ and `functionName` set to `"totalSupply"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ownedRegistryTestAbi}__ and `functionName` set to `"excludeArtifacts"` */ -export const useReadIerc721EnumerableTotalSupply = +export const useReadOwnedRegistryTestExcludeArtifacts = /*#__PURE__*/ createUseReadContract({ - abi: ierc721EnumerableAbi, - functionName: 'totalSupply', + abi: ownedRegistryTestAbi, + functionName: 'excludeArtifacts', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ierc721EnumerableAbi}__ + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ownedRegistryTestAbi}__ and `functionName` set to `"excludeContracts"` */ -export const useWriteIerc721Enumerable = /*#__PURE__*/ createUseWriteContract({ - abi: ierc721EnumerableAbi, -}) +export const useReadOwnedRegistryTestExcludeContracts = + /*#__PURE__*/ createUseReadContract({ + abi: ownedRegistryTestAbi, + functionName: 'excludeContracts', + }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ierc721EnumerableAbi}__ and `functionName` set to `"approve"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ownedRegistryTestAbi}__ and `functionName` set to `"excludeSelectors"` */ -export const useWriteIerc721EnumerableApprove = - /*#__PURE__*/ createUseWriteContract({ - abi: ierc721EnumerableAbi, - functionName: 'approve', +export const useReadOwnedRegistryTestExcludeSelectors = + /*#__PURE__*/ createUseReadContract({ + abi: ownedRegistryTestAbi, + functionName: 'excludeSelectors', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ierc721EnumerableAbi}__ and `functionName` set to `"safeTransferFrom"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ownedRegistryTestAbi}__ and `functionName` set to `"excludeSenders"` */ -export const useWriteIerc721EnumerableSafeTransferFrom = - /*#__PURE__*/ createUseWriteContract({ - abi: ierc721EnumerableAbi, - functionName: 'safeTransferFrom', +export const useReadOwnedRegistryTestExcludeSenders = + /*#__PURE__*/ createUseReadContract({ + abi: ownedRegistryTestAbi, + functionName: 'excludeSenders', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ierc721EnumerableAbi}__ and `functionName` set to `"setApprovalForAll"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ownedRegistryTestAbi}__ and `functionName` set to `"failed"` */ -export const useWriteIerc721EnumerableSetApprovalForAll = - /*#__PURE__*/ createUseWriteContract({ - abi: ierc721EnumerableAbi, - functionName: 'setApprovalForAll', +export const useReadOwnedRegistryTestFailed = + /*#__PURE__*/ createUseReadContract({ + abi: ownedRegistryTestAbi, + functionName: 'failed', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ierc721EnumerableAbi}__ and `functionName` set to `"transferFrom"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ownedRegistryTestAbi}__ and `functionName` set to `"targetArtifactSelectors"` */ -export const useWriteIerc721EnumerableTransferFrom = - /*#__PURE__*/ createUseWriteContract({ - abi: ierc721EnumerableAbi, - functionName: 'transferFrom', +export const useReadOwnedRegistryTestTargetArtifactSelectors = + /*#__PURE__*/ createUseReadContract({ + abi: ownedRegistryTestAbi, + functionName: 'targetArtifactSelectors', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ierc721EnumerableAbi}__ + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ownedRegistryTestAbi}__ and `functionName` set to `"targetArtifacts"` */ -export const useSimulateIerc721Enumerable = - /*#__PURE__*/ createUseSimulateContract({ abi: ierc721EnumerableAbi }) +export const useReadOwnedRegistryTestTargetArtifacts = + /*#__PURE__*/ createUseReadContract({ + abi: ownedRegistryTestAbi, + functionName: 'targetArtifacts', + }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ierc721EnumerableAbi}__ and `functionName` set to `"approve"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ownedRegistryTestAbi}__ and `functionName` set to `"targetContracts"` */ -export const useSimulateIerc721EnumerableApprove = - /*#__PURE__*/ createUseSimulateContract({ - abi: ierc721EnumerableAbi, - functionName: 'approve', +export const useReadOwnedRegistryTestTargetContracts = + /*#__PURE__*/ createUseReadContract({ + abi: ownedRegistryTestAbi, + functionName: 'targetContracts', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ierc721EnumerableAbi}__ and `functionName` set to `"safeTransferFrom"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ownedRegistryTestAbi}__ and `functionName` set to `"targetInterfaces"` */ -export const useSimulateIerc721EnumerableSafeTransferFrom = - /*#__PURE__*/ createUseSimulateContract({ - abi: ierc721EnumerableAbi, - functionName: 'safeTransferFrom', +export const useReadOwnedRegistryTestTargetInterfaces = + /*#__PURE__*/ createUseReadContract({ + abi: ownedRegistryTestAbi, + functionName: 'targetInterfaces', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ierc721EnumerableAbi}__ and `functionName` set to `"setApprovalForAll"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ownedRegistryTestAbi}__ and `functionName` set to `"targetSelectors"` */ -export const useSimulateIerc721EnumerableSetApprovalForAll = - /*#__PURE__*/ createUseSimulateContract({ - abi: ierc721EnumerableAbi, - functionName: 'setApprovalForAll', +export const useReadOwnedRegistryTestTargetSelectors = + /*#__PURE__*/ createUseReadContract({ + abi: ownedRegistryTestAbi, + functionName: 'targetSelectors', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ierc721EnumerableAbi}__ and `functionName` set to `"transferFrom"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link ownedRegistryTestAbi}__ and `functionName` set to `"targetSenders"` */ -export const useSimulateIerc721EnumerableTransferFrom = - /*#__PURE__*/ createUseSimulateContract({ - abi: ierc721EnumerableAbi, - functionName: 'transferFrom', +export const useReadOwnedRegistryTestTargetSenders = + /*#__PURE__*/ createUseReadContract({ + abi: ownedRegistryTestAbi, + functionName: 'targetSenders', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ierc721EnumerableAbi}__ + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ownedRegistryTestAbi}__ */ -export const useWatchIerc721EnumerableEvent = - /*#__PURE__*/ createUseWatchContractEvent({ abi: ierc721EnumerableAbi }) +export const useWriteOwnedRegistryTest = /*#__PURE__*/ createUseWriteContract({ + abi: ownedRegistryTestAbi, +}) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ierc721EnumerableAbi}__ and `eventName` set to `"Approval"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ownedRegistryTestAbi}__ and `functionName` set to `"setUp"` */ -export const useWatchIerc721EnumerableApprovalEvent = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: ierc721EnumerableAbi, - eventName: 'Approval', +export const useWriteOwnedRegistryTestSetUp = + /*#__PURE__*/ createUseWriteContract({ + abi: ownedRegistryTestAbi, + functionName: 'setUp', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ierc721EnumerableAbi}__ and `eventName` set to `"ApprovalForAll"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ownedRegistryTestAbi}__ and `functionName` set to `"test_setValue_revertsForNonOwner"` */ -export const useWatchIerc721EnumerableApprovalForAllEvent = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: ierc721EnumerableAbi, - eventName: 'ApprovalForAll', +export const useWriteOwnedRegistryTestTestSetValueRevertsForNonOwner = + /*#__PURE__*/ createUseWriteContract({ + abi: ownedRegistryTestAbi, + functionName: 'test_setValue_revertsForNonOwner', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ierc721EnumerableAbi}__ and `eventName` set to `"Transfer"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ownedRegistryTestAbi}__ and `functionName` set to `"test_setValue_succeedsForOwner"` */ -export const useWatchIerc721EnumerableTransferEvent = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: ierc721EnumerableAbi, - eventName: 'Transfer', +export const useWriteOwnedRegistryTestTestSetValueSucceedsForOwner = + /*#__PURE__*/ createUseWriteContract({ + abi: ownedRegistryTestAbi, + functionName: 'test_setValue_succeedsForOwner', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc721MetadataAbi}__ + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ownedRegistryTestAbi}__ */ -export const useReadIerc721Metadata = /*#__PURE__*/ createUseReadContract({ - abi: ierc721MetadataAbi, -}) +export const useSimulateOwnedRegistryTest = + /*#__PURE__*/ createUseSimulateContract({ abi: ownedRegistryTestAbi }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc721MetadataAbi}__ and `functionName` set to `"balanceOf"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ownedRegistryTestAbi}__ and `functionName` set to `"setUp"` */ -export const useReadIerc721MetadataBalanceOf = - /*#__PURE__*/ createUseReadContract({ - abi: ierc721MetadataAbi, - functionName: 'balanceOf', +export const useSimulateOwnedRegistryTestSetUp = + /*#__PURE__*/ createUseSimulateContract({ + abi: ownedRegistryTestAbi, + functionName: 'setUp', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc721MetadataAbi}__ and `functionName` set to `"getApproved"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ownedRegistryTestAbi}__ and `functionName` set to `"test_setValue_revertsForNonOwner"` */ -export const useReadIerc721MetadataGetApproved = - /*#__PURE__*/ createUseReadContract({ - abi: ierc721MetadataAbi, - functionName: 'getApproved', +export const useSimulateOwnedRegistryTestTestSetValueRevertsForNonOwner = + /*#__PURE__*/ createUseSimulateContract({ + abi: ownedRegistryTestAbi, + functionName: 'test_setValue_revertsForNonOwner', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc721MetadataAbi}__ and `functionName` set to `"isApprovedForAll"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ownedRegistryTestAbi}__ and `functionName` set to `"test_setValue_succeedsForOwner"` */ -export const useReadIerc721MetadataIsApprovedForAll = - /*#__PURE__*/ createUseReadContract({ - abi: ierc721MetadataAbi, - functionName: 'isApprovedForAll', +export const useSimulateOwnedRegistryTestTestSetValueSucceedsForOwner = + /*#__PURE__*/ createUseSimulateContract({ + abi: ownedRegistryTestAbi, + functionName: 'test_setValue_succeedsForOwner', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc721MetadataAbi}__ and `functionName` set to `"name"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ownedRegistryTestAbi}__ */ -export const useReadIerc721MetadataName = /*#__PURE__*/ createUseReadContract({ - abi: ierc721MetadataAbi, - functionName: 'name', -}) +export const useWatchOwnedRegistryTestEvent = + /*#__PURE__*/ createUseWatchContractEvent({ abi: ownedRegistryTestAbi }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc721MetadataAbi}__ and `functionName` set to `"ownerOf"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ownedRegistryTestAbi}__ and `eventName` set to `"log"` */ -export const useReadIerc721MetadataOwnerOf = - /*#__PURE__*/ createUseReadContract({ - abi: ierc721MetadataAbi, - functionName: 'ownerOf', +export const useWatchOwnedRegistryTestLogEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: ownedRegistryTestAbi, + eventName: 'log', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc721MetadataAbi}__ and `functionName` set to `"supportsInterface"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ownedRegistryTestAbi}__ and `eventName` set to `"log_address"` */ -export const useReadIerc721MetadataSupportsInterface = - /*#__PURE__*/ createUseReadContract({ - abi: ierc721MetadataAbi, - functionName: 'supportsInterface', +export const useWatchOwnedRegistryTestLogAddressEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: ownedRegistryTestAbi, + eventName: 'log_address', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc721MetadataAbi}__ and `functionName` set to `"symbol"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ownedRegistryTestAbi}__ and `eventName` set to `"log_array"` */ -export const useReadIerc721MetadataSymbol = /*#__PURE__*/ createUseReadContract( - { abi: ierc721MetadataAbi, functionName: 'symbol' }, -) +export const useWatchOwnedRegistryTestLogArrayEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: ownedRegistryTestAbi, + eventName: 'log_array', + }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link ierc721MetadataAbi}__ and `functionName` set to `"tokenURI"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ownedRegistryTestAbi}__ and `eventName` set to `"log_bytes"` */ -export const useReadIerc721MetadataTokenUri = - /*#__PURE__*/ createUseReadContract({ - abi: ierc721MetadataAbi, - functionName: 'tokenURI', +export const useWatchOwnedRegistryTestLogBytesEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: ownedRegistryTestAbi, + eventName: 'log_bytes', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ierc721MetadataAbi}__ + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ownedRegistryTestAbi}__ and `eventName` set to `"log_bytes32"` */ -export const useWriteIerc721Metadata = /*#__PURE__*/ createUseWriteContract({ - abi: ierc721MetadataAbi, -}) +export const useWatchOwnedRegistryTestLogBytes32Event = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: ownedRegistryTestAbi, + eventName: 'log_bytes32', + }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ierc721MetadataAbi}__ and `functionName` set to `"approve"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ownedRegistryTestAbi}__ and `eventName` set to `"log_int"` */ -export const useWriteIerc721MetadataApprove = - /*#__PURE__*/ createUseWriteContract({ - abi: ierc721MetadataAbi, - functionName: 'approve', +export const useWatchOwnedRegistryTestLogIntEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: ownedRegistryTestAbi, + eventName: 'log_int', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ierc721MetadataAbi}__ and `functionName` set to `"safeTransferFrom"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ownedRegistryTestAbi}__ and `eventName` set to `"log_named_address"` */ -export const useWriteIerc721MetadataSafeTransferFrom = - /*#__PURE__*/ createUseWriteContract({ - abi: ierc721MetadataAbi, - functionName: 'safeTransferFrom', +export const useWatchOwnedRegistryTestLogNamedAddressEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: ownedRegistryTestAbi, + eventName: 'log_named_address', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ierc721MetadataAbi}__ and `functionName` set to `"setApprovalForAll"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ownedRegistryTestAbi}__ and `eventName` set to `"log_named_array"` */ -export const useWriteIerc721MetadataSetApprovalForAll = - /*#__PURE__*/ createUseWriteContract({ - abi: ierc721MetadataAbi, - functionName: 'setApprovalForAll', +export const useWatchOwnedRegistryTestLogNamedArrayEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: ownedRegistryTestAbi, + eventName: 'log_named_array', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ierc721MetadataAbi}__ and `functionName` set to `"transferFrom"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ownedRegistryTestAbi}__ and `eventName` set to `"log_named_bytes"` */ -export const useWriteIerc721MetadataTransferFrom = - /*#__PURE__*/ createUseWriteContract({ - abi: ierc721MetadataAbi, - functionName: 'transferFrom', +export const useWatchOwnedRegistryTestLogNamedBytesEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: ownedRegistryTestAbi, + eventName: 'log_named_bytes', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ierc721MetadataAbi}__ + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ownedRegistryTestAbi}__ and `eventName` set to `"log_named_bytes32"` */ -export const useSimulateIerc721Metadata = - /*#__PURE__*/ createUseSimulateContract({ abi: ierc721MetadataAbi }) +export const useWatchOwnedRegistryTestLogNamedBytes32Event = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: ownedRegistryTestAbi, + eventName: 'log_named_bytes32', + }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ierc721MetadataAbi}__ and `functionName` set to `"approve"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ownedRegistryTestAbi}__ and `eventName` set to `"log_named_decimal_int"` */ -export const useSimulateIerc721MetadataApprove = - /*#__PURE__*/ createUseSimulateContract({ - abi: ierc721MetadataAbi, - functionName: 'approve', +export const useWatchOwnedRegistryTestLogNamedDecimalIntEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: ownedRegistryTestAbi, + eventName: 'log_named_decimal_int', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ierc721MetadataAbi}__ and `functionName` set to `"safeTransferFrom"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ownedRegistryTestAbi}__ and `eventName` set to `"log_named_decimal_uint"` */ -export const useSimulateIerc721MetadataSafeTransferFrom = - /*#__PURE__*/ createUseSimulateContract({ - abi: ierc721MetadataAbi, - functionName: 'safeTransferFrom', +export const useWatchOwnedRegistryTestLogNamedDecimalUintEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: ownedRegistryTestAbi, + eventName: 'log_named_decimal_uint', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ierc721MetadataAbi}__ and `functionName` set to `"setApprovalForAll"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ownedRegistryTestAbi}__ and `eventName` set to `"log_named_int"` */ -export const useSimulateIerc721MetadataSetApprovalForAll = - /*#__PURE__*/ createUseSimulateContract({ - abi: ierc721MetadataAbi, - functionName: 'setApprovalForAll', +export const useWatchOwnedRegistryTestLogNamedIntEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: ownedRegistryTestAbi, + eventName: 'log_named_int', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ierc721MetadataAbi}__ and `functionName` set to `"transferFrom"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ownedRegistryTestAbi}__ and `eventName` set to `"log_named_string"` */ -export const useSimulateIerc721MetadataTransferFrom = - /*#__PURE__*/ createUseSimulateContract({ - abi: ierc721MetadataAbi, - functionName: 'transferFrom', +export const useWatchOwnedRegistryTestLogNamedStringEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: ownedRegistryTestAbi, + eventName: 'log_named_string', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ierc721MetadataAbi}__ + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ownedRegistryTestAbi}__ and `eventName` set to `"log_named_uint"` */ -export const useWatchIerc721MetadataEvent = - /*#__PURE__*/ createUseWatchContractEvent({ abi: ierc721MetadataAbi }) +export const useWatchOwnedRegistryTestLogNamedUintEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: ownedRegistryTestAbi, + eventName: 'log_named_uint', + }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ierc721MetadataAbi}__ and `eventName` set to `"Approval"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ownedRegistryTestAbi}__ and `eventName` set to `"log_string"` */ -export const useWatchIerc721MetadataApprovalEvent = +export const useWatchOwnedRegistryTestLogStringEvent = /*#__PURE__*/ createUseWatchContractEvent({ - abi: ierc721MetadataAbi, - eventName: 'Approval', + abi: ownedRegistryTestAbi, + eventName: 'log_string', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ierc721MetadataAbi}__ and `eventName` set to `"ApprovalForAll"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ownedRegistryTestAbi}__ and `eventName` set to `"log_uint"` */ -export const useWatchIerc721MetadataApprovalForAllEvent = +export const useWatchOwnedRegistryTestLogUintEvent = /*#__PURE__*/ createUseWatchContractEvent({ - abi: ierc721MetadataAbi, - eventName: 'ApprovalForAll', + abi: ownedRegistryTestAbi, + eventName: 'log_uint', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ierc721MetadataAbi}__ and `eventName` set to `"Transfer"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ownedRegistryTestAbi}__ and `eventName` set to `"logs"` */ -export const useWatchIerc721MetadataTransferEvent = +export const useWatchOwnedRegistryTestLogsEvent = /*#__PURE__*/ createUseWatchContractEvent({ - abi: ierc721MetadataAbi, - eventName: 'Transfer', + abi: ownedRegistryTestAbi, + eventName: 'logs', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ierc721ReceiverAbi}__ + * Wraps __{@link useReadContract}__ with `abi` set to __{@link proxyAdminAbi}__ */ -export const useWriteIerc721Receiver = /*#__PURE__*/ createUseWriteContract({ - abi: ierc721ReceiverAbi, +export const useReadProxyAdmin = /*#__PURE__*/ createUseReadContract({ + abi: proxyAdminAbi, }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ierc721ReceiverAbi}__ and `functionName` set to `"onERC721Received"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link proxyAdminAbi}__ and `functionName` set to `"UPGRADE_INTERFACE_VERSION"` */ -export const useWriteIerc721ReceiverOnErc721Received = - /*#__PURE__*/ createUseWriteContract({ - abi: ierc721ReceiverAbi, - functionName: 'onERC721Received', +export const useReadProxyAdminUpgradeInterfaceVersion = + /*#__PURE__*/ createUseReadContract({ + abi: proxyAdminAbi, + functionName: 'UPGRADE_INTERFACE_VERSION', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ierc721ReceiverAbi}__ + * Wraps __{@link useReadContract}__ with `abi` set to __{@link proxyAdminAbi}__ and `functionName` set to `"owner"` */ -export const useSimulateIerc721Receiver = - /*#__PURE__*/ createUseSimulateContract({ abi: ierc721ReceiverAbi }) +export const useReadProxyAdminOwner = /*#__PURE__*/ createUseReadContract({ + abi: proxyAdminAbi, + functionName: 'owner', +}) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ierc721ReceiverAbi}__ and `functionName` set to `"onERC721Received"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link proxyAdminAbi}__ */ -export const useSimulateIerc721ReceiverOnErc721Received = - /*#__PURE__*/ createUseSimulateContract({ - abi: ierc721ReceiverAbi, - functionName: 'onERC721Received', - }) +export const useWriteProxyAdmin = /*#__PURE__*/ createUseWriteContract({ + abi: proxyAdminAbi, +}) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link iMulticall3Abi}__ + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link proxyAdminAbi}__ and `functionName` set to `"renounceOwnership"` */ -export const useReadIMulticall3 = /*#__PURE__*/ createUseReadContract({ - abi: iMulticall3Abi, -}) +export const useWriteProxyAdminRenounceOwnership = + /*#__PURE__*/ createUseWriteContract({ + abi: proxyAdminAbi, + functionName: 'renounceOwnership', + }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"getBasefee"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link proxyAdminAbi}__ and `functionName` set to `"transferOwnership"` */ -export const useReadIMulticall3GetBasefee = /*#__PURE__*/ createUseReadContract( - { abi: iMulticall3Abi, functionName: 'getBasefee' }, -) +export const useWriteProxyAdminTransferOwnership = + /*#__PURE__*/ createUseWriteContract({ + abi: proxyAdminAbi, + functionName: 'transferOwnership', + }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"getBlockHash"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link proxyAdminAbi}__ and `functionName` set to `"upgradeAndCall"` */ -export const useReadIMulticall3GetBlockHash = - /*#__PURE__*/ createUseReadContract({ - abi: iMulticall3Abi, - functionName: 'getBlockHash', +export const useWriteProxyAdminUpgradeAndCall = + /*#__PURE__*/ createUseWriteContract({ + abi: proxyAdminAbi, + functionName: 'upgradeAndCall', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"getBlockNumber"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link proxyAdminAbi}__ */ -export const useReadIMulticall3GetBlockNumber = - /*#__PURE__*/ createUseReadContract({ - abi: iMulticall3Abi, - functionName: 'getBlockNumber', - }) +export const useSimulateProxyAdmin = /*#__PURE__*/ createUseSimulateContract({ + abi: proxyAdminAbi, +}) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"getChainId"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link proxyAdminAbi}__ and `functionName` set to `"renounceOwnership"` */ -export const useReadIMulticall3GetChainId = /*#__PURE__*/ createUseReadContract( - { abi: iMulticall3Abi, functionName: 'getChainId' }, -) +export const useSimulateProxyAdminRenounceOwnership = + /*#__PURE__*/ createUseSimulateContract({ + abi: proxyAdminAbi, + functionName: 'renounceOwnership', + }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"getCurrentBlockCoinbase"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link proxyAdminAbi}__ and `functionName` set to `"transferOwnership"` */ -export const useReadIMulticall3GetCurrentBlockCoinbase = - /*#__PURE__*/ createUseReadContract({ - abi: iMulticall3Abi, - functionName: 'getCurrentBlockCoinbase', +export const useSimulateProxyAdminTransferOwnership = + /*#__PURE__*/ createUseSimulateContract({ + abi: proxyAdminAbi, + functionName: 'transferOwnership', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"getCurrentBlockDifficulty"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link proxyAdminAbi}__ and `functionName` set to `"upgradeAndCall"` */ -export const useReadIMulticall3GetCurrentBlockDifficulty = - /*#__PURE__*/ createUseReadContract({ - abi: iMulticall3Abi, - functionName: 'getCurrentBlockDifficulty', +export const useSimulateProxyAdminUpgradeAndCall = + /*#__PURE__*/ createUseSimulateContract({ + abi: proxyAdminAbi, + functionName: 'upgradeAndCall', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"getCurrentBlockGasLimit"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link proxyAdminAbi}__ */ -export const useReadIMulticall3GetCurrentBlockGasLimit = - /*#__PURE__*/ createUseReadContract({ - abi: iMulticall3Abi, - functionName: 'getCurrentBlockGasLimit', +export const useWatchProxyAdminEvent = + /*#__PURE__*/ createUseWatchContractEvent({ abi: proxyAdminAbi }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link proxyAdminAbi}__ and `eventName` set to `"OwnershipTransferred"` + */ +export const useWatchProxyAdminOwnershipTransferredEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: proxyAdminAbi, + eventName: 'OwnershipTransferred', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"getCurrentBlockTimestamp"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link sixDecimalTokenAbi}__ + * + * */ -export const useReadIMulticall3GetCurrentBlockTimestamp = +export const useReadSixDecimalToken = /*#__PURE__*/ createUseReadContract({ + abi: sixDecimalTokenAbi, + address: sixDecimalTokenAddress, +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link sixDecimalTokenAbi}__ and `functionName` set to `"allowance"` + * + * + */ +export const useReadSixDecimalTokenAllowance = /*#__PURE__*/ createUseReadContract({ - abi: iMulticall3Abi, - functionName: 'getCurrentBlockTimestamp', + abi: sixDecimalTokenAbi, + address: sixDecimalTokenAddress, + functionName: 'allowance', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"getEthBalance"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link sixDecimalTokenAbi}__ and `functionName` set to `"balanceOf"` + * + * */ -export const useReadIMulticall3GetEthBalance = +export const useReadSixDecimalTokenBalanceOf = /*#__PURE__*/ createUseReadContract({ - abi: iMulticall3Abi, - functionName: 'getEthBalance', + abi: sixDecimalTokenAbi, + address: sixDecimalTokenAddress, + functionName: 'balanceOf', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"getLastBlockHash"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link sixDecimalTokenAbi}__ and `functionName` set to `"decimals"` + * + * */ -export const useReadIMulticall3GetLastBlockHash = +export const useReadSixDecimalTokenDecimals = /*#__PURE__*/ createUseReadContract({ - abi: iMulticall3Abi, - functionName: 'getLastBlockHash', + abi: sixDecimalTokenAbi, + address: sixDecimalTokenAddress, + functionName: 'decimals', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link iMulticall3Abi}__ + * Wraps __{@link useReadContract}__ with `abi` set to __{@link sixDecimalTokenAbi}__ and `functionName` set to `"name"` + * + * */ -export const useWriteIMulticall3 = /*#__PURE__*/ createUseWriteContract({ - abi: iMulticall3Abi, +export const useReadSixDecimalTokenName = /*#__PURE__*/ createUseReadContract({ + abi: sixDecimalTokenAbi, + address: sixDecimalTokenAddress, + functionName: 'name', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"aggregate"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link sixDecimalTokenAbi}__ and `functionName` set to `"symbol"` + * + * */ -export const useWriteIMulticall3Aggregate = - /*#__PURE__*/ createUseWriteContract({ - abi: iMulticall3Abi, - functionName: 'aggregate', - }) +export const useReadSixDecimalTokenSymbol = /*#__PURE__*/ createUseReadContract( + { + abi: sixDecimalTokenAbi, + address: sixDecimalTokenAddress, + functionName: 'symbol', + }, +) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"aggregate3"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link sixDecimalTokenAbi}__ and `functionName` set to `"totalSupply"` + * + * */ -export const useWriteIMulticall3Aggregate3 = - /*#__PURE__*/ createUseWriteContract({ - abi: iMulticall3Abi, - functionName: 'aggregate3', +export const useReadSixDecimalTokenTotalSupply = + /*#__PURE__*/ createUseReadContract({ + abi: sixDecimalTokenAbi, + address: sixDecimalTokenAddress, + functionName: 'totalSupply', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"aggregate3Value"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link sixDecimalTokenAbi}__ + * + * */ -export const useWriteIMulticall3Aggregate3Value = - /*#__PURE__*/ createUseWriteContract({ - abi: iMulticall3Abi, - functionName: 'aggregate3Value', - }) +export const useWriteSixDecimalToken = /*#__PURE__*/ createUseWriteContract({ + abi: sixDecimalTokenAbi, + address: sixDecimalTokenAddress, +}) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"blockAndAggregate"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link sixDecimalTokenAbi}__ and `functionName` set to `"approve"` + * + * */ -export const useWriteIMulticall3BlockAndAggregate = +export const useWriteSixDecimalTokenApprove = /*#__PURE__*/ createUseWriteContract({ - abi: iMulticall3Abi, - functionName: 'blockAndAggregate', + abi: sixDecimalTokenAbi, + address: sixDecimalTokenAddress, + functionName: 'approve', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"tryAggregate"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link sixDecimalTokenAbi}__ and `functionName` set to `"mint"` + * + * */ -export const useWriteIMulticall3TryAggregate = - /*#__PURE__*/ createUseWriteContract({ - abi: iMulticall3Abi, - functionName: 'tryAggregate', - }) +export const useWriteSixDecimalTokenMint = /*#__PURE__*/ createUseWriteContract( + { + abi: sixDecimalTokenAbi, + address: sixDecimalTokenAddress, + functionName: 'mint', + }, +) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"tryBlockAndAggregate"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link sixDecimalTokenAbi}__ and `functionName` set to `"transfer"` + * + * */ -export const useWriteIMulticall3TryBlockAndAggregate = +export const useWriteSixDecimalTokenTransfer = /*#__PURE__*/ createUseWriteContract({ - abi: iMulticall3Abi, - functionName: 'tryBlockAndAggregate', + abi: sixDecimalTokenAbi, + address: sixDecimalTokenAddress, + functionName: 'transfer', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link iMulticall3Abi}__ - */ -export const useSimulateIMulticall3 = /*#__PURE__*/ createUseSimulateContract({ - abi: iMulticall3Abi, -}) - -/** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"aggregate"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link sixDecimalTokenAbi}__ and `functionName` set to `"transferFrom"` + * + * */ -export const useSimulateIMulticall3Aggregate = - /*#__PURE__*/ createUseSimulateContract({ - abi: iMulticall3Abi, - functionName: 'aggregate', +export const useWriteSixDecimalTokenTransferFrom = + /*#__PURE__*/ createUseWriteContract({ + abi: sixDecimalTokenAbi, + address: sixDecimalTokenAddress, + functionName: 'transferFrom', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"aggregate3"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link sixDecimalTokenAbi}__ + * + * */ -export const useSimulateIMulticall3Aggregate3 = +export const useSimulateSixDecimalToken = /*#__PURE__*/ createUseSimulateContract({ - abi: iMulticall3Abi, - functionName: 'aggregate3', + abi: sixDecimalTokenAbi, + address: sixDecimalTokenAddress, }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"aggregate3Value"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link sixDecimalTokenAbi}__ and `functionName` set to `"approve"` + * + * */ -export const useSimulateIMulticall3Aggregate3Value = +export const useSimulateSixDecimalTokenApprove = /*#__PURE__*/ createUseSimulateContract({ - abi: iMulticall3Abi, - functionName: 'aggregate3Value', + abi: sixDecimalTokenAbi, + address: sixDecimalTokenAddress, + functionName: 'approve', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"blockAndAggregate"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link sixDecimalTokenAbi}__ and `functionName` set to `"mint"` + * + * */ -export const useSimulateIMulticall3BlockAndAggregate = +export const useSimulateSixDecimalTokenMint = /*#__PURE__*/ createUseSimulateContract({ - abi: iMulticall3Abi, - functionName: 'blockAndAggregate', + abi: sixDecimalTokenAbi, + address: sixDecimalTokenAddress, + functionName: 'mint', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"tryAggregate"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link sixDecimalTokenAbi}__ and `functionName` set to `"transfer"` + * + * */ -export const useSimulateIMulticall3TryAggregate = +export const useSimulateSixDecimalTokenTransfer = /*#__PURE__*/ createUseSimulateContract({ - abi: iMulticall3Abi, - functionName: 'tryAggregate', + abi: sixDecimalTokenAbi, + address: sixDecimalTokenAddress, + functionName: 'transfer', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link iMulticall3Abi}__ and `functionName` set to `"tryBlockAndAggregate"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link sixDecimalTokenAbi}__ and `functionName` set to `"transferFrom"` + * + * */ -export const useSimulateIMulticall3TryBlockAndAggregate = +export const useSimulateSixDecimalTokenTransferFrom = /*#__PURE__*/ createUseSimulateContract({ - abi: iMulticall3Abi, - functionName: 'tryBlockAndAggregate', + abi: sixDecimalTokenAbi, + address: sixDecimalTokenAddress, + functionName: 'transferFrom', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link iProxyAdminAbi}__ + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link sixDecimalTokenAbi}__ + * + * */ -export const useWriteIProxyAdmin = /*#__PURE__*/ createUseWriteContract({ - abi: iProxyAdminAbi, -}) +export const useWatchSixDecimalTokenEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: sixDecimalTokenAbi, + address: sixDecimalTokenAddress, + }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link iProxyAdminAbi}__ and `functionName` set to `"upgrade"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link sixDecimalTokenAbi}__ and `eventName` set to `"Approval"` + * + * */ -export const useWriteIProxyAdminUpgrade = /*#__PURE__*/ createUseWriteContract({ - abi: iProxyAdminAbi, - functionName: 'upgrade', -}) +export const useWatchSixDecimalTokenApprovalEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: sixDecimalTokenAbi, + address: sixDecimalTokenAddress, + eventName: 'Approval', + }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link iProxyAdminAbi}__ and `functionName` set to `"upgradeAndCall"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link sixDecimalTokenAbi}__ and `eventName` set to `"Transfer"` + * + * */ -export const useWriteIProxyAdminUpgradeAndCall = - /*#__PURE__*/ createUseWriteContract({ - abi: iProxyAdminAbi, - functionName: 'upgradeAndCall', +export const useWatchSixDecimalTokenTransferEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: sixDecimalTokenAbi, + address: sixDecimalTokenAddress, + eventName: 'Transfer', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link iProxyAdminAbi}__ + * Wraps __{@link useReadContract}__ with `abi` set to __{@link sixDecimalTokenTestAbi}__ */ -export const useSimulateIProxyAdmin = /*#__PURE__*/ createUseSimulateContract({ - abi: iProxyAdminAbi, +export const useReadSixDecimalTokenTest = /*#__PURE__*/ createUseReadContract({ + abi: sixDecimalTokenTestAbi, }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link iProxyAdminAbi}__ and `functionName` set to `"upgrade"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link sixDecimalTokenTestAbi}__ and `functionName` set to `"IS_TEST"` */ -export const useSimulateIProxyAdminUpgrade = - /*#__PURE__*/ createUseSimulateContract({ - abi: iProxyAdminAbi, - functionName: 'upgrade', +export const useReadSixDecimalTokenTestIsTest = + /*#__PURE__*/ createUseReadContract({ + abi: sixDecimalTokenTestAbi, + functionName: 'IS_TEST', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link iProxyAdminAbi}__ and `functionName` set to `"upgradeAndCall"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link sixDecimalTokenTestAbi}__ and `functionName` set to `"excludeArtifacts"` */ -export const useSimulateIProxyAdminUpgradeAndCall = - /*#__PURE__*/ createUseSimulateContract({ - abi: iProxyAdminAbi, - functionName: 'upgradeAndCall', +export const useReadSixDecimalTokenTestExcludeArtifacts = + /*#__PURE__*/ createUseReadContract({ + abi: sixDecimalTokenTestAbi, + functionName: 'excludeArtifacts', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link iTransparentUpgradeableProxyAbi}__ - */ -export const useWriteITransparentUpgradeableProxy = - /*#__PURE__*/ createUseWriteContract({ abi: iTransparentUpgradeableProxyAbi }) - -/** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link iTransparentUpgradeableProxyAbi}__ and `functionName` set to `"upgradeToAndCall"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link sixDecimalTokenTestAbi}__ and `functionName` set to `"excludeContracts"` */ -export const useWriteITransparentUpgradeableProxyUpgradeToAndCall = - /*#__PURE__*/ createUseWriteContract({ - abi: iTransparentUpgradeableProxyAbi, - functionName: 'upgradeToAndCall', +export const useReadSixDecimalTokenTestExcludeContracts = + /*#__PURE__*/ createUseReadContract({ + abi: sixDecimalTokenTestAbi, + functionName: 'excludeContracts', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link iTransparentUpgradeableProxyAbi}__ + * Wraps __{@link useReadContract}__ with `abi` set to __{@link sixDecimalTokenTestAbi}__ and `functionName` set to `"excludeSelectors"` */ -export const useSimulateITransparentUpgradeableProxy = - /*#__PURE__*/ createUseSimulateContract({ - abi: iTransparentUpgradeableProxyAbi, +export const useReadSixDecimalTokenTestExcludeSelectors = + /*#__PURE__*/ createUseReadContract({ + abi: sixDecimalTokenTestAbi, + functionName: 'excludeSelectors', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link iTransparentUpgradeableProxyAbi}__ and `functionName` set to `"upgradeToAndCall"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link sixDecimalTokenTestAbi}__ and `functionName` set to `"excludeSenders"` */ -export const useSimulateITransparentUpgradeableProxyUpgradeToAndCall = - /*#__PURE__*/ createUseSimulateContract({ - abi: iTransparentUpgradeableProxyAbi, - functionName: 'upgradeToAndCall', +export const useReadSixDecimalTokenTestExcludeSenders = + /*#__PURE__*/ createUseReadContract({ + abi: sixDecimalTokenTestAbi, + functionName: 'excludeSenders', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link iTransparentUpgradeableProxyAbi}__ + * Wraps __{@link useReadContract}__ with `abi` set to __{@link sixDecimalTokenTestAbi}__ and `functionName` set to `"failed"` */ -export const useWatchITransparentUpgradeableProxyEvent = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: iTransparentUpgradeableProxyAbi, +export const useReadSixDecimalTokenTestFailed = + /*#__PURE__*/ createUseReadContract({ + abi: sixDecimalTokenTestAbi, + functionName: 'failed', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link iTransparentUpgradeableProxyAbi}__ and `eventName` set to `"AdminChanged"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link sixDecimalTokenTestAbi}__ and `functionName` set to `"targetArtifactSelectors"` */ -export const useWatchITransparentUpgradeableProxyAdminChangedEvent = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: iTransparentUpgradeableProxyAbi, - eventName: 'AdminChanged', +export const useReadSixDecimalTokenTestTargetArtifactSelectors = + /*#__PURE__*/ createUseReadContract({ + abi: sixDecimalTokenTestAbi, + functionName: 'targetArtifactSelectors', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link iTransparentUpgradeableProxyAbi}__ and `eventName` set to `"BeaconUpgraded"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link sixDecimalTokenTestAbi}__ and `functionName` set to `"targetArtifacts"` */ -export const useWatchITransparentUpgradeableProxyBeaconUpgradedEvent = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: iTransparentUpgradeableProxyAbi, - eventName: 'BeaconUpgraded', +export const useReadSixDecimalTokenTestTargetArtifacts = + /*#__PURE__*/ createUseReadContract({ + abi: sixDecimalTokenTestAbi, + functionName: 'targetArtifacts', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link iTransparentUpgradeableProxyAbi}__ and `eventName` set to `"Upgraded"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link sixDecimalTokenTestAbi}__ and `functionName` set to `"targetContracts"` */ -export const useWatchITransparentUpgradeableProxyUpgradedEvent = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: iTransparentUpgradeableProxyAbi, - eventName: 'Upgraded', +export const useReadSixDecimalTokenTestTargetContracts = + /*#__PURE__*/ createUseReadContract({ + abi: sixDecimalTokenTestAbi, + functionName: 'targetContracts', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link iUpgradeableBeaconAbi}__ + * Wraps __{@link useReadContract}__ with `abi` set to __{@link sixDecimalTokenTestAbi}__ and `functionName` set to `"targetInterfaces"` */ -export const useWriteIUpgradeableBeacon = /*#__PURE__*/ createUseWriteContract({ - abi: iUpgradeableBeaconAbi, -}) +export const useReadSixDecimalTokenTestTargetInterfaces = + /*#__PURE__*/ createUseReadContract({ + abi: sixDecimalTokenTestAbi, + functionName: 'targetInterfaces', + }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link iUpgradeableBeaconAbi}__ and `functionName` set to `"upgradeTo"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link sixDecimalTokenTestAbi}__ and `functionName` set to `"targetSelectors"` */ -export const useWriteIUpgradeableBeaconUpgradeTo = - /*#__PURE__*/ createUseWriteContract({ - abi: iUpgradeableBeaconAbi, - functionName: 'upgradeTo', +export const useReadSixDecimalTokenTestTargetSelectors = + /*#__PURE__*/ createUseReadContract({ + abi: sixDecimalTokenTestAbi, + functionName: 'targetSelectors', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link iUpgradeableBeaconAbi}__ + * Wraps __{@link useReadContract}__ with `abi` set to __{@link sixDecimalTokenTestAbi}__ and `functionName` set to `"targetSenders"` */ -export const useSimulateIUpgradeableBeacon = - /*#__PURE__*/ createUseSimulateContract({ abi: iUpgradeableBeaconAbi }) +export const useReadSixDecimalTokenTestTargetSenders = + /*#__PURE__*/ createUseReadContract({ + abi: sixDecimalTokenTestAbi, + functionName: 'targetSenders', + }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link iUpgradeableBeaconAbi}__ and `functionName` set to `"upgradeTo"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link sixDecimalTokenTestAbi}__ and `functionName` set to `"test_decimals_isSix"` */ -export const useSimulateIUpgradeableBeaconUpgradeTo = - /*#__PURE__*/ createUseSimulateContract({ - abi: iUpgradeableBeaconAbi, - functionName: 'upgradeTo', +export const useReadSixDecimalTokenTestTestDecimalsIsSix = + /*#__PURE__*/ createUseReadContract({ + abi: sixDecimalTokenTestAbi, + functionName: 'test_decimals_isSix', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link iUpgradeableProxyAbi}__ + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link sixDecimalTokenTestAbi}__ */ -export const useWriteIUpgradeableProxy = /*#__PURE__*/ createUseWriteContract({ - abi: iUpgradeableProxyAbi, -}) +export const useWriteSixDecimalTokenTest = /*#__PURE__*/ createUseWriteContract( + { abi: sixDecimalTokenTestAbi }, +) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link iUpgradeableProxyAbi}__ and `functionName` set to `"upgradeTo"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link sixDecimalTokenTestAbi}__ and `functionName` set to `"setUp"` */ -export const useWriteIUpgradeableProxyUpgradeTo = +export const useWriteSixDecimalTokenTestSetUp = /*#__PURE__*/ createUseWriteContract({ - abi: iUpgradeableProxyAbi, - functionName: 'upgradeTo', + abi: sixDecimalTokenTestAbi, + functionName: 'setUp', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link iUpgradeableProxyAbi}__ and `functionName` set to `"upgradeToAndCall"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link sixDecimalTokenTestAbi}__ and `functionName` set to `"test_transfer_revertsWhenAmountUsesEighteenDecimals"` */ -export const useWriteIUpgradeableProxyUpgradeToAndCall = +export const useWriteSixDecimalTokenTestTestTransferRevertsWhenAmountUsesEighteenDecimals = /*#__PURE__*/ createUseWriteContract({ - abi: iUpgradeableProxyAbi, - functionName: 'upgradeToAndCall', + abi: sixDecimalTokenTestAbi, + functionName: 'test_transfer_revertsWhenAmountUsesEighteenDecimals', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link iUpgradeableProxyAbi}__ + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link sixDecimalTokenTestAbi}__ */ -export const useSimulateIUpgradeableProxy = - /*#__PURE__*/ createUseSimulateContract({ abi: iUpgradeableProxyAbi }) +export const useSimulateSixDecimalTokenTest = + /*#__PURE__*/ createUseSimulateContract({ abi: sixDecimalTokenTestAbi }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link iUpgradeableProxyAbi}__ and `functionName` set to `"upgradeTo"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link sixDecimalTokenTestAbi}__ and `functionName` set to `"setUp"` */ -export const useSimulateIUpgradeableProxyUpgradeTo = +export const useSimulateSixDecimalTokenTestSetUp = /*#__PURE__*/ createUseSimulateContract({ - abi: iUpgradeableProxyAbi, - functionName: 'upgradeTo', + abi: sixDecimalTokenTestAbi, + functionName: 'setUp', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link iUpgradeableProxyAbi}__ and `functionName` set to `"upgradeToAndCall"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link sixDecimalTokenTestAbi}__ and `functionName` set to `"test_transfer_revertsWhenAmountUsesEighteenDecimals"` */ -export const useSimulateIUpgradeableProxyUpgradeToAndCall = +export const useSimulateSixDecimalTokenTestTestTransferRevertsWhenAmountUsesEighteenDecimals = /*#__PURE__*/ createUseSimulateContract({ - abi: iUpgradeableProxyAbi, - functionName: 'upgradeToAndCall', + abi: sixDecimalTokenTestAbi, + functionName: 'test_transfer_revertsWhenAmountUsesEighteenDecimals', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link initializableAbi}__ + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link sixDecimalTokenTestAbi}__ */ -export const useWatchInitializableEvent = - /*#__PURE__*/ createUseWatchContractEvent({ abi: initializableAbi }) +export const useWatchSixDecimalTokenTestEvent = + /*#__PURE__*/ createUseWatchContractEvent({ abi: sixDecimalTokenTestAbi }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link initializableAbi}__ and `eventName` set to `"Initialized"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link sixDecimalTokenTestAbi}__ and `eventName` set to `"log"` */ -export const useWatchInitializableInitializedEvent = +export const useWatchSixDecimalTokenTestLogEvent = /*#__PURE__*/ createUseWatchContractEvent({ - abi: initializableAbi, - eventName: 'Initialized', + abi: sixDecimalTokenTestAbi, + eventName: 'log', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link nftAbi}__ - * - * + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link sixDecimalTokenTestAbi}__ and `eventName` set to `"log_address"` */ -export const useReadNft = /*#__PURE__*/ createUseReadContract({ - abi: nftAbi, - address: nftAddress, -}) +export const useWatchSixDecimalTokenTestLogAddressEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: sixDecimalTokenTestAbi, + eventName: 'log_address', + }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"balanceOf"` - * - * + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link sixDecimalTokenTestAbi}__ and `eventName` set to `"log_array"` */ -export const useReadNftBalanceOf = /*#__PURE__*/ createUseReadContract({ - abi: nftAbi, - address: nftAddress, - functionName: 'balanceOf', -}) +export const useWatchSixDecimalTokenTestLogArrayEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: sixDecimalTokenTestAbi, + eventName: 'log_array', + }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"currentId"` - * - * + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link sixDecimalTokenTestAbi}__ and `eventName` set to `"log_bytes"` */ -export const useReadNftCurrentId = /*#__PURE__*/ createUseReadContract({ - abi: nftAbi, - address: nftAddress, - functionName: 'currentId', -}) +export const useWatchSixDecimalTokenTestLogBytesEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: sixDecimalTokenTestAbi, + eventName: 'log_bytes', + }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"getApproved"` - * - * + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link sixDecimalTokenTestAbi}__ and `eventName` set to `"log_bytes32"` */ -export const useReadNftGetApproved = /*#__PURE__*/ createUseReadContract({ - abi: nftAbi, - address: nftAddress, - functionName: 'getApproved', -}) +export const useWatchSixDecimalTokenTestLogBytes32Event = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: sixDecimalTokenTestAbi, + eventName: 'log_bytes32', + }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"isApprovedForAll"` - * - * + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link sixDecimalTokenTestAbi}__ and `eventName` set to `"log_int"` */ -export const useReadNftIsApprovedForAll = /*#__PURE__*/ createUseReadContract({ - abi: nftAbi, - address: nftAddress, - functionName: 'isApprovedForAll', -}) +export const useWatchSixDecimalTokenTestLogIntEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: sixDecimalTokenTestAbi, + eventName: 'log_int', + }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"listTokensByAddress"` - * - * + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link sixDecimalTokenTestAbi}__ and `eventName` set to `"log_named_address"` */ -export const useReadNftListTokensByAddress = - /*#__PURE__*/ createUseReadContract({ - abi: nftAbi, - address: nftAddress, - functionName: 'listTokensByAddress', +export const useWatchSixDecimalTokenTestLogNamedAddressEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: sixDecimalTokenTestAbi, + eventName: 'log_named_address', + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link sixDecimalTokenTestAbi}__ and `eventName` set to `"log_named_array"` + */ +export const useWatchSixDecimalTokenTestLogNamedArrayEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: sixDecimalTokenTestAbi, + eventName: 'log_named_array', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"name"` - * - * + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link sixDecimalTokenTestAbi}__ and `eventName` set to `"log_named_bytes"` */ -export const useReadNftName = /*#__PURE__*/ createUseReadContract({ - abi: nftAbi, - address: nftAddress, - functionName: 'name', -}) +export const useWatchSixDecimalTokenTestLogNamedBytesEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: sixDecimalTokenTestAbi, + eventName: 'log_named_bytes', + }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"ownerOf"` - * - * + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link sixDecimalTokenTestAbi}__ and `eventName` set to `"log_named_bytes32"` */ -export const useReadNftOwnerOf = /*#__PURE__*/ createUseReadContract({ - abi: nftAbi, - address: nftAddress, - functionName: 'ownerOf', -}) +export const useWatchSixDecimalTokenTestLogNamedBytes32Event = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: sixDecimalTokenTestAbi, + eventName: 'log_named_bytes32', + }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"supportsInterface"` - * - * + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link sixDecimalTokenTestAbi}__ and `eventName` set to `"log_named_decimal_int"` */ -export const useReadNftSupportsInterface = /*#__PURE__*/ createUseReadContract({ - abi: nftAbi, - address: nftAddress, - functionName: 'supportsInterface', -}) +export const useWatchSixDecimalTokenTestLogNamedDecimalIntEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: sixDecimalTokenTestAbi, + eventName: 'log_named_decimal_int', + }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"symbol"` - * - * + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link sixDecimalTokenTestAbi}__ and `eventName` set to `"log_named_decimal_uint"` */ -export const useReadNftSymbol = /*#__PURE__*/ createUseReadContract({ - abi: nftAbi, - address: nftAddress, - functionName: 'symbol', -}) +export const useWatchSixDecimalTokenTestLogNamedDecimalUintEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: sixDecimalTokenTestAbi, + eventName: 'log_named_decimal_uint', + }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"tokenByIndex"` - * - * + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link sixDecimalTokenTestAbi}__ and `eventName` set to `"log_named_int"` */ -export const useReadNftTokenByIndex = /*#__PURE__*/ createUseReadContract({ - abi: nftAbi, - address: nftAddress, - functionName: 'tokenByIndex', -}) +export const useWatchSixDecimalTokenTestLogNamedIntEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: sixDecimalTokenTestAbi, + eventName: 'log_named_int', + }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"tokenOfOwnerByIndex"` - * - * + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link sixDecimalTokenTestAbi}__ and `eventName` set to `"log_named_string"` */ -export const useReadNftTokenOfOwnerByIndex = - /*#__PURE__*/ createUseReadContract({ - abi: nftAbi, - address: nftAddress, - functionName: 'tokenOfOwnerByIndex', +export const useWatchSixDecimalTokenTestLogNamedStringEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: sixDecimalTokenTestAbi, + eventName: 'log_named_string', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"tokenURI"` - * - * + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link sixDecimalTokenTestAbi}__ and `eventName` set to `"log_named_uint"` */ -export const useReadNftTokenUri = /*#__PURE__*/ createUseReadContract({ - abi: nftAbi, - address: nftAddress, - functionName: 'tokenURI', -}) +export const useWatchSixDecimalTokenTestLogNamedUintEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: sixDecimalTokenTestAbi, + eventName: 'log_named_uint', + }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"totalSupply"` - * - * + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link sixDecimalTokenTestAbi}__ and `eventName` set to `"log_string"` */ -export const useReadNftTotalSupply = /*#__PURE__*/ createUseReadContract({ - abi: nftAbi, - address: nftAddress, - functionName: 'totalSupply', -}) +export const useWatchSixDecimalTokenTestLogStringEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: sixDecimalTokenTestAbi, + eventName: 'log_string', + }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link nftAbi}__ - * - * + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link sixDecimalTokenTestAbi}__ and `eventName` set to `"log_uint"` */ -export const useWriteNft = /*#__PURE__*/ createUseWriteContract({ - abi: nftAbi, - address: nftAddress, -}) +export const useWatchSixDecimalTokenTestLogUintEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: sixDecimalTokenTestAbi, + eventName: 'log_uint', + }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"approve"` - * - * + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link sixDecimalTokenTestAbi}__ and `eventName` set to `"logs"` */ -export const useWriteNftApprove = /*#__PURE__*/ createUseWriteContract({ - abi: nftAbi, - address: nftAddress, - functionName: 'approve', -}) +export const useWatchSixDecimalTokenTestLogsEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: sixDecimalTokenTestAbi, + eventName: 'logs', + }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"mint"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link testCallsAbi}__ * * */ -export const useWriteNftMint = /*#__PURE__*/ createUseWriteContract({ - abi: nftAbi, - address: nftAddress, - functionName: 'mint', +export const useReadTestCalls = /*#__PURE__*/ createUseReadContract({ + abi: testCallsAbi, + address: testCallsAddress, }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"safeTransferFrom"` - * - * - */ -export const useWriteNftSafeTransferFrom = /*#__PURE__*/ createUseWriteContract( - { abi: nftAbi, address: nftAddress, functionName: 'safeTransferFrom' }, -) - -/** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"setApprovalForAll"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"length_uintArry"` * * */ -export const useWriteNftSetApprovalForAll = - /*#__PURE__*/ createUseWriteContract({ - abi: nftAbi, - address: nftAddress, - functionName: 'setApprovalForAll', +export const useReadTestCallsLengthUintArry = + /*#__PURE__*/ createUseReadContract({ + abi: testCallsAbi, + address: testCallsAddress, + functionName: 'length_uintArry', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"transferFrom"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"uintArray"` * * */ -export const useWriteNftTransferFrom = /*#__PURE__*/ createUseWriteContract({ - abi: nftAbi, - address: nftAddress, - functionName: 'transferFrom', +export const useReadTestCallsUintArray = /*#__PURE__*/ createUseReadContract({ + abi: testCallsAbi, + address: testCallsAddress, + functionName: 'uintArray', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link nftAbi}__ + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsAbi}__ * * */ -export const useSimulateNft = /*#__PURE__*/ createUseSimulateContract({ - abi: nftAbi, - address: nftAddress, +export const useWriteTestCalls = /*#__PURE__*/ createUseWriteContract({ + abi: testCallsAbi, + address: testCallsAddress, }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"approve"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"buy"` * * */ -export const useSimulateNftApprove = /*#__PURE__*/ createUseSimulateContract({ - abi: nftAbi, - address: nftAddress, - functionName: 'approve', +export const useWriteTestCallsBuy = /*#__PURE__*/ createUseWriteContract({ + abi: testCallsAbi, + address: testCallsAddress, + functionName: 'buy', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"mint"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_bytes"` * * */ -export const useSimulateNftMint = /*#__PURE__*/ createUseSimulateContract({ - abi: nftAbi, - address: nftAddress, - functionName: 'mint', +export const useWriteTestCallsCallBytes = /*#__PURE__*/ createUseWriteContract({ + abi: testCallsAbi, + address: testCallsAddress, + functionName: 'call_bytes', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"safeTransferFrom"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_bytes32"` * * */ -export const useSimulateNftSafeTransferFrom = - /*#__PURE__*/ createUseSimulateContract({ - abi: nftAbi, - address: nftAddress, - functionName: 'safeTransferFrom', +export const useWriteTestCallsCallBytes32 = + /*#__PURE__*/ createUseWriteContract({ + abi: testCallsAbi, + address: testCallsAddress, + functionName: 'call_bytes32', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"setApprovalForAll"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_bytes32Array"` * * */ -export const useSimulateNftSetApprovalForAll = - /*#__PURE__*/ createUseSimulateContract({ - abi: nftAbi, - address: nftAddress, - functionName: 'setApprovalForAll', +export const useWriteTestCallsCallBytes32Array = + /*#__PURE__*/ createUseWriteContract({ + abi: testCallsAbi, + address: testCallsAddress, + functionName: 'call_bytes32Array', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link nftAbi}__ and `functionName` set to `"transferFrom"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_bytesArray"` * * */ -export const useSimulateNftTransferFrom = - /*#__PURE__*/ createUseSimulateContract({ - abi: nftAbi, - address: nftAddress, - functionName: 'transferFrom', +export const useWriteTestCallsCallBytesArray = + /*#__PURE__*/ createUseWriteContract({ + abi: testCallsAbi, + address: testCallsAddress, + functionName: 'call_bytesArray', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link nftAbi}__ + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_empty"` * * */ -export const useWatchNftEvent = /*#__PURE__*/ createUseWatchContractEvent({ - abi: nftAbi, - address: nftAddress, +export const useWriteTestCallsCallEmpty = /*#__PURE__*/ createUseWriteContract({ + abi: testCallsAbi, + address: testCallsAddress, + functionName: 'call_empty', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link nftAbi}__ and `eventName` set to `"Approval"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_nestedStruct"` * * */ -export const useWatchNftApprovalEvent = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: nftAbi, - address: nftAddress, - eventName: 'Approval', +export const useWriteTestCallsCallNestedStruct = + /*#__PURE__*/ createUseWriteContract({ + abi: testCallsAbi, + address: testCallsAddress, + functionName: 'call_nestedStruct', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link nftAbi}__ and `eventName` set to `"ApprovalForAll"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_string"` * * */ -export const useWatchNftApprovalForAllEvent = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: nftAbi, - address: nftAddress, - eventName: 'ApprovalForAll', - }) +export const useWriteTestCallsCallString = /*#__PURE__*/ createUseWriteContract( + { abi: testCallsAbi, address: testCallsAddress, functionName: 'call_string' }, +) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link nftAbi}__ and `eventName` set to `"Transfer"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_stringArray"` * * */ -export const useWatchNftTransferEvent = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: nftAbi, - address: nftAddress, - eventName: 'Transfer', +export const useWriteTestCallsCallStringArray = + /*#__PURE__*/ createUseWriteContract({ + abi: testCallsAbi, + address: testCallsAddress, + functionName: 'call_stringArray', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link ownableAbi}__ - */ -export const useReadOwnable = /*#__PURE__*/ createUseReadContract({ - abi: ownableAbi, -}) - -/** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link ownableAbi}__ and `functionName` set to `"owner"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_struct"` + * + * */ -export const useReadOwnableOwner = /*#__PURE__*/ createUseReadContract({ - abi: ownableAbi, - functionName: 'owner', -}) +export const useWriteTestCallsCallStruct = /*#__PURE__*/ createUseWriteContract( + { abi: testCallsAbi, address: testCallsAddress, functionName: 'call_struct' }, +) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ownableAbi}__ + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_uint"` + * + * */ -export const useWriteOwnable = /*#__PURE__*/ createUseWriteContract({ - abi: ownableAbi, +export const useWriteTestCallsCallUint = /*#__PURE__*/ createUseWriteContract({ + abi: testCallsAbi, + address: testCallsAddress, + functionName: 'call_uint', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ownableAbi}__ and `functionName` set to `"renounceOwnership"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_uintArray"` + * + * */ -export const useWriteOwnableRenounceOwnership = +export const useWriteTestCallsCallUintArray = /*#__PURE__*/ createUseWriteContract({ - abi: ownableAbi, - functionName: 'renounceOwnership', + abi: testCallsAbi, + address: testCallsAddress, + functionName: 'call_uintArray', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link ownableAbi}__ and `functionName` set to `"transferOwnership"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_uintArraySpecificLength"` + * + * */ -export const useWriteOwnableTransferOwnership = +export const useWriteTestCallsCallUintArraySpecificLength = /*#__PURE__*/ createUseWriteContract({ - abi: ownableAbi, - functionName: 'transferOwnership', + abi: testCallsAbi, + address: testCallsAddress, + functionName: 'call_uintArraySpecificLength', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ownableAbi}__ - */ -export const useSimulateOwnable = /*#__PURE__*/ createUseSimulateContract({ - abi: ownableAbi, -}) - -/** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ownableAbi}__ and `functionName` set to `"renounceOwnership"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_uintNestedArray"` + * + * */ -export const useSimulateOwnableRenounceOwnership = - /*#__PURE__*/ createUseSimulateContract({ - abi: ownableAbi, - functionName: 'renounceOwnership', +export const useWriteTestCallsCallUintNestedArray = + /*#__PURE__*/ createUseWriteContract({ + abi: testCallsAbi, + address: testCallsAddress, + functionName: 'call_uintNestedArray', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link ownableAbi}__ and `functionName` set to `"transferOwnership"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"pay"` + * + * */ -export const useSimulateOwnableTransferOwnership = - /*#__PURE__*/ createUseSimulateContract({ - abi: ownableAbi, - functionName: 'transferOwnership', - }) +export const useWriteTestCallsPay = /*#__PURE__*/ createUseWriteContract({ + abi: testCallsAbi, + address: testCallsAddress, + functionName: 'pay', +}) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ownableAbi}__ + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"two"` + * + * */ -export const useWatchOwnableEvent = /*#__PURE__*/ createUseWatchContractEvent({ - abi: ownableAbi, +export const useWriteTestCallsTwo = /*#__PURE__*/ createUseWriteContract({ + abi: testCallsAbi, + address: testCallsAddress, + functionName: 'two', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link ownableAbi}__ and `eventName` set to `"OwnershipTransferred"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsAbi}__ + * + * */ -export const useWatchOwnableOwnershipTransferredEvent = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: ownableAbi, - eventName: 'OwnershipTransferred', - }) +export const useSimulateTestCalls = /*#__PURE__*/ createUseSimulateContract({ + abi: testCallsAbi, + address: testCallsAddress, +}) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link proxyAdminAbi}__ + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"buy"` + * + * */ -export const useReadProxyAdmin = /*#__PURE__*/ createUseReadContract({ - abi: proxyAdminAbi, +export const useSimulateTestCallsBuy = /*#__PURE__*/ createUseSimulateContract({ + abi: testCallsAbi, + address: testCallsAddress, + functionName: 'buy', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link proxyAdminAbi}__ and `functionName` set to `"UPGRADE_INTERFACE_VERSION"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_bytes"` + * + * */ -export const useReadProxyAdminUpgradeInterfaceVersion = - /*#__PURE__*/ createUseReadContract({ - abi: proxyAdminAbi, - functionName: 'UPGRADE_INTERFACE_VERSION', +export const useSimulateTestCallsCallBytes = + /*#__PURE__*/ createUseSimulateContract({ + abi: testCallsAbi, + address: testCallsAddress, + functionName: 'call_bytes', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link proxyAdminAbi}__ and `functionName` set to `"owner"` - */ -export const useReadProxyAdminOwner = /*#__PURE__*/ createUseReadContract({ - abi: proxyAdminAbi, - functionName: 'owner', -}) - -/** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link proxyAdminAbi}__ + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_bytes32"` + * + * */ -export const useWriteProxyAdmin = /*#__PURE__*/ createUseWriteContract({ - abi: proxyAdminAbi, -}) +export const useSimulateTestCallsCallBytes32 = + /*#__PURE__*/ createUseSimulateContract({ + abi: testCallsAbi, + address: testCallsAddress, + functionName: 'call_bytes32', + }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link proxyAdminAbi}__ and `functionName` set to `"renounceOwnership"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_bytes32Array"` + * + * */ -export const useWriteProxyAdminRenounceOwnership = - /*#__PURE__*/ createUseWriteContract({ - abi: proxyAdminAbi, - functionName: 'renounceOwnership', +export const useSimulateTestCallsCallBytes32Array = + /*#__PURE__*/ createUseSimulateContract({ + abi: testCallsAbi, + address: testCallsAddress, + functionName: 'call_bytes32Array', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link proxyAdminAbi}__ and `functionName` set to `"transferOwnership"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_bytesArray"` + * + * */ -export const useWriteProxyAdminTransferOwnership = - /*#__PURE__*/ createUseWriteContract({ - abi: proxyAdminAbi, - functionName: 'transferOwnership', +export const useSimulateTestCallsCallBytesArray = + /*#__PURE__*/ createUseSimulateContract({ + abi: testCallsAbi, + address: testCallsAddress, + functionName: 'call_bytesArray', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link proxyAdminAbi}__ and `functionName` set to `"upgradeAndCall"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_empty"` + * + * */ -export const useWriteProxyAdminUpgradeAndCall = - /*#__PURE__*/ createUseWriteContract({ - abi: proxyAdminAbi, - functionName: 'upgradeAndCall', +export const useSimulateTestCallsCallEmpty = + /*#__PURE__*/ createUseSimulateContract({ + abi: testCallsAbi, + address: testCallsAddress, + functionName: 'call_empty', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link proxyAdminAbi}__ + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_nestedStruct"` + * + * */ -export const useSimulateProxyAdmin = /*#__PURE__*/ createUseSimulateContract({ - abi: proxyAdminAbi, -}) +export const useSimulateTestCallsCallNestedStruct = + /*#__PURE__*/ createUseSimulateContract({ + abi: testCallsAbi, + address: testCallsAddress, + functionName: 'call_nestedStruct', + }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link proxyAdminAbi}__ and `functionName` set to `"renounceOwnership"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_string"` + * + * */ -export const useSimulateProxyAdminRenounceOwnership = +export const useSimulateTestCallsCallString = /*#__PURE__*/ createUseSimulateContract({ - abi: proxyAdminAbi, - functionName: 'renounceOwnership', + abi: testCallsAbi, + address: testCallsAddress, + functionName: 'call_string', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link proxyAdminAbi}__ and `functionName` set to `"transferOwnership"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_stringArray"` + * + * */ -export const useSimulateProxyAdminTransferOwnership = +export const useSimulateTestCallsCallStringArray = /*#__PURE__*/ createUseSimulateContract({ - abi: proxyAdminAbi, - functionName: 'transferOwnership', + abi: testCallsAbi, + address: testCallsAddress, + functionName: 'call_stringArray', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link proxyAdminAbi}__ and `functionName` set to `"upgradeAndCall"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_struct"` + * + * */ -export const useSimulateProxyAdminUpgradeAndCall = +export const useSimulateTestCallsCallStruct = /*#__PURE__*/ createUseSimulateContract({ - abi: proxyAdminAbi, - functionName: 'upgradeAndCall', + abi: testCallsAbi, + address: testCallsAddress, + functionName: 'call_struct', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link proxyAdminAbi}__ + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_uint"` + * + * */ -export const useWatchProxyAdminEvent = - /*#__PURE__*/ createUseWatchContractEvent({ abi: proxyAdminAbi }) +export const useSimulateTestCallsCallUint = + /*#__PURE__*/ createUseSimulateContract({ + abi: testCallsAbi, + address: testCallsAddress, + functionName: 'call_uint', + }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link proxyAdminAbi}__ and `eventName` set to `"OwnershipTransferred"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_uintArray"` + * + * */ -export const useWatchProxyAdminOwnershipTransferredEvent = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: proxyAdminAbi, - eventName: 'OwnershipTransferred', +export const useSimulateTestCallsCallUintArray = + /*#__PURE__*/ createUseSimulateContract({ + abi: testCallsAbi, + address: testCallsAddress, + functionName: 'call_uintArray', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link testCallsAbi}__ + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_uintArraySpecificLength"` * * */ -export const useReadTestCalls = /*#__PURE__*/ createUseReadContract({ - abi: testCallsAbi, - address: testCallsAddress, -}) +export const useSimulateTestCallsCallUintArraySpecificLength = + /*#__PURE__*/ createUseSimulateContract({ + abi: testCallsAbi, + address: testCallsAddress, + functionName: 'call_uintArraySpecificLength', + }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"length_uintArry"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_uintNestedArray"` * * */ -export const useReadTestCallsLengthUintArry = - /*#__PURE__*/ createUseReadContract({ +export const useSimulateTestCallsCallUintNestedArray = + /*#__PURE__*/ createUseSimulateContract({ abi: testCallsAbi, address: testCallsAddress, - functionName: 'length_uintArry', + functionName: 'call_uintNestedArray', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"uintArray"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"pay"` * * */ -export const useReadTestCallsUintArray = /*#__PURE__*/ createUseReadContract({ +export const useSimulateTestCallsPay = /*#__PURE__*/ createUseSimulateContract({ abi: testCallsAbi, address: testCallsAddress, - functionName: 'uintArray', + functionName: 'pay', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsAbi}__ + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"two"` * * */ -export const useWriteTestCalls = /*#__PURE__*/ createUseWriteContract({ +export const useSimulateTestCallsTwo = /*#__PURE__*/ createUseSimulateContract({ abi: testCallsAbi, address: testCallsAddress, + functionName: 'two', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"buy"` - * - * + * Wraps __{@link useReadContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ */ -export const useWriteTestCallsBuy = /*#__PURE__*/ createUseWriteContract({ - abi: testCallsAbi, - address: testCallsAddress, - functionName: 'buy', +export const useReadTestCallsUpgradeable = /*#__PURE__*/ createUseReadContract({ + abi: testCallsUpgradeableAbi, }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_bytes"` - * - * + * Wraps __{@link useReadContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"length_uintArry"` */ -export const useWriteTestCallsCallBytes = /*#__PURE__*/ createUseWriteContract({ - abi: testCallsAbi, - address: testCallsAddress, - functionName: 'call_bytes', -}) +export const useReadTestCallsUpgradeableLengthUintArry = + /*#__PURE__*/ createUseReadContract({ + abi: testCallsUpgradeableAbi, + functionName: 'length_uintArry', + }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_bytes32"` - * - * + * Wraps __{@link useReadContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"uintArray"` */ -export const useWriteTestCallsCallBytes32 = +export const useReadTestCallsUpgradeableUintArray = + /*#__PURE__*/ createUseReadContract({ + abi: testCallsUpgradeableAbi, + functionName: 'uintArray', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"x"` + */ +export const useReadTestCallsUpgradeableX = /*#__PURE__*/ createUseReadContract( + { abi: testCallsUpgradeableAbi, functionName: 'x' }, +) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ + */ +export const useWriteTestCallsUpgradeable = + /*#__PURE__*/ createUseWriteContract({ abi: testCallsUpgradeableAbi }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"buy"` + */ +export const useWriteTestCallsUpgradeableBuy = /*#__PURE__*/ createUseWriteContract({ - abi: testCallsAbi, - address: testCallsAddress, + abi: testCallsUpgradeableAbi, + functionName: 'buy', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_bytes"` + */ +export const useWriteTestCallsUpgradeableCallBytes = + /*#__PURE__*/ createUseWriteContract({ + abi: testCallsUpgradeableAbi, + functionName: 'call_bytes', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_bytes32"` + */ +export const useWriteTestCallsUpgradeableCallBytes32 = + /*#__PURE__*/ createUseWriteContract({ + abi: testCallsUpgradeableAbi, functionName: 'call_bytes32', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_bytes32Array"` - * - * + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_bytes32Array"` */ -export const useWriteTestCallsCallBytes32Array = +export const useWriteTestCallsUpgradeableCallBytes32Array = /*#__PURE__*/ createUseWriteContract({ - abi: testCallsAbi, - address: testCallsAddress, + abi: testCallsUpgradeableAbi, functionName: 'call_bytes32Array', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_bytesArray"` - * - * + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_bytesArray"` */ -export const useWriteTestCallsCallBytesArray = +export const useWriteTestCallsUpgradeableCallBytesArray = /*#__PURE__*/ createUseWriteContract({ - abi: testCallsAbi, - address: testCallsAddress, + abi: testCallsUpgradeableAbi, functionName: 'call_bytesArray', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_empty"` - * - * + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_empty"` */ -export const useWriteTestCallsCallEmpty = /*#__PURE__*/ createUseWriteContract({ - abi: testCallsAbi, - address: testCallsAddress, - functionName: 'call_empty', -}) +export const useWriteTestCallsUpgradeableCallEmpty = + /*#__PURE__*/ createUseWriteContract({ + abi: testCallsUpgradeableAbi, + functionName: 'call_empty', + }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_nestedStruct"` - * - * + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_nestedStruct"` */ -export const useWriteTestCallsCallNestedStruct = +export const useWriteTestCallsUpgradeableCallNestedStruct = /*#__PURE__*/ createUseWriteContract({ - abi: testCallsAbi, - address: testCallsAddress, + abi: testCallsUpgradeableAbi, functionName: 'call_nestedStruct', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_string"` - * - * + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_string"` */ -export const useWriteTestCallsCallString = /*#__PURE__*/ createUseWriteContract( - { abi: testCallsAbi, address: testCallsAddress, functionName: 'call_string' }, -) +export const useWriteTestCallsUpgradeableCallString = + /*#__PURE__*/ createUseWriteContract({ + abi: testCallsUpgradeableAbi, + functionName: 'call_string', + }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_stringArray"` - * - * + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_stringArray"` */ -export const useWriteTestCallsCallStringArray = +export const useWriteTestCallsUpgradeableCallStringArray = /*#__PURE__*/ createUseWriteContract({ - abi: testCallsAbi, - address: testCallsAddress, + abi: testCallsUpgradeableAbi, functionName: 'call_stringArray', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_struct"` - * - * + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_struct"` */ -export const useWriteTestCallsCallStruct = /*#__PURE__*/ createUseWriteContract( - { abi: testCallsAbi, address: testCallsAddress, functionName: 'call_struct' }, -) +export const useWriteTestCallsUpgradeableCallStruct = + /*#__PURE__*/ createUseWriteContract({ + abi: testCallsUpgradeableAbi, + functionName: 'call_struct', + }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_uint"` - * - * + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_uint"` */ -export const useWriteTestCallsCallUint = /*#__PURE__*/ createUseWriteContract({ - abi: testCallsAbi, - address: testCallsAddress, - functionName: 'call_uint', -}) +export const useWriteTestCallsUpgradeableCallUint = + /*#__PURE__*/ createUseWriteContract({ + abi: testCallsUpgradeableAbi, + functionName: 'call_uint', + }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_uintArray"` - * - * + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_uintArray"` */ -export const useWriteTestCallsCallUintArray = +export const useWriteTestCallsUpgradeableCallUintArray = /*#__PURE__*/ createUseWriteContract({ - abi: testCallsAbi, - address: testCallsAddress, + abi: testCallsUpgradeableAbi, functionName: 'call_uintArray', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_uintArraySpecificLength"` - * - * + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_uintArraySpecificLength"` */ -export const useWriteTestCallsCallUintArraySpecificLength = +export const useWriteTestCallsUpgradeableCallUintArraySpecificLength = /*#__PURE__*/ createUseWriteContract({ - abi: testCallsAbi, - address: testCallsAddress, + abi: testCallsUpgradeableAbi, functionName: 'call_uintArraySpecificLength', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_uintNestedArray"` - * - * + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_uintNestedArray"` */ -export const useWriteTestCallsCallUintNestedArray = +export const useWriteTestCallsUpgradeableCallUintNestedArray = /*#__PURE__*/ createUseWriteContract({ - abi: testCallsAbi, - address: testCallsAddress, + abi: testCallsUpgradeableAbi, functionName: 'call_uintNestedArray', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"pay"` - * - * + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"initialize"` */ -export const useWriteTestCallsPay = /*#__PURE__*/ createUseWriteContract({ - abi: testCallsAbi, - address: testCallsAddress, - functionName: 'pay', -}) +export const useWriteTestCallsUpgradeableInitialize = + /*#__PURE__*/ createUseWriteContract({ + abi: testCallsUpgradeableAbi, + functionName: 'initialize', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"pay"` + */ +export const useWriteTestCallsUpgradeablePay = + /*#__PURE__*/ createUseWriteContract({ + abi: testCallsUpgradeableAbi, + functionName: 'pay', + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"setX"` + */ +export const useWriteTestCallsUpgradeableSetX = + /*#__PURE__*/ createUseWriteContract({ + abi: testCallsUpgradeableAbi, + functionName: 'setX', + }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"two"` - * - * + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"two"` */ -export const useWriteTestCallsTwo = /*#__PURE__*/ createUseWriteContract({ - abi: testCallsAbi, - address: testCallsAddress, - functionName: 'two', -}) +export const useWriteTestCallsUpgradeableTwo = + /*#__PURE__*/ createUseWriteContract({ + abi: testCallsUpgradeableAbi, + functionName: 'two', + }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsAbi}__ - * - * + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ */ -export const useSimulateTestCalls = /*#__PURE__*/ createUseSimulateContract({ - abi: testCallsAbi, - address: testCallsAddress, -}) +export const useSimulateTestCallsUpgradeable = + /*#__PURE__*/ createUseSimulateContract({ abi: testCallsUpgradeableAbi }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"buy"` - * - * + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"buy"` */ -export const useSimulateTestCallsBuy = /*#__PURE__*/ createUseSimulateContract({ - abi: testCallsAbi, - address: testCallsAddress, - functionName: 'buy', -}) +export const useSimulateTestCallsUpgradeableBuy = + /*#__PURE__*/ createUseSimulateContract({ + abi: testCallsUpgradeableAbi, + functionName: 'buy', + }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_bytes"` - * - * + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_bytes"` */ -export const useSimulateTestCallsCallBytes = +export const useSimulateTestCallsUpgradeableCallBytes = /*#__PURE__*/ createUseSimulateContract({ - abi: testCallsAbi, - address: testCallsAddress, + abi: testCallsUpgradeableAbi, functionName: 'call_bytes', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_bytes32"` - * - * + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_bytes32"` */ -export const useSimulateTestCallsCallBytes32 = +export const useSimulateTestCallsUpgradeableCallBytes32 = /*#__PURE__*/ createUseSimulateContract({ - abi: testCallsAbi, - address: testCallsAddress, + abi: testCallsUpgradeableAbi, functionName: 'call_bytes32', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_bytes32Array"` - * - * + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_bytes32Array"` */ -export const useSimulateTestCallsCallBytes32Array = +export const useSimulateTestCallsUpgradeableCallBytes32Array = /*#__PURE__*/ createUseSimulateContract({ - abi: testCallsAbi, - address: testCallsAddress, + abi: testCallsUpgradeableAbi, functionName: 'call_bytes32Array', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_bytesArray"` - * - * + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_bytesArray"` */ -export const useSimulateTestCallsCallBytesArray = +export const useSimulateTestCallsUpgradeableCallBytesArray = /*#__PURE__*/ createUseSimulateContract({ - abi: testCallsAbi, - address: testCallsAddress, + abi: testCallsUpgradeableAbi, functionName: 'call_bytesArray', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_empty"` - * - * + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_empty"` */ -export const useSimulateTestCallsCallEmpty = +export const useSimulateTestCallsUpgradeableCallEmpty = /*#__PURE__*/ createUseSimulateContract({ - abi: testCallsAbi, - address: testCallsAddress, + abi: testCallsUpgradeableAbi, functionName: 'call_empty', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_nestedStruct"` - * - * + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_nestedStruct"` */ -export const useSimulateTestCallsCallNestedStruct = +export const useSimulateTestCallsUpgradeableCallNestedStruct = /*#__PURE__*/ createUseSimulateContract({ - abi: testCallsAbi, - address: testCallsAddress, + abi: testCallsUpgradeableAbi, functionName: 'call_nestedStruct', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_string"` - * - * + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_string"` */ -export const useSimulateTestCallsCallString = +export const useSimulateTestCallsUpgradeableCallString = /*#__PURE__*/ createUseSimulateContract({ - abi: testCallsAbi, - address: testCallsAddress, + abi: testCallsUpgradeableAbi, functionName: 'call_string', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_stringArray"` - * - * + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_stringArray"` */ -export const useSimulateTestCallsCallStringArray = +export const useSimulateTestCallsUpgradeableCallStringArray = /*#__PURE__*/ createUseSimulateContract({ - abi: testCallsAbi, - address: testCallsAddress, + abi: testCallsUpgradeableAbi, functionName: 'call_stringArray', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_struct"` - * - * + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_struct"` */ -export const useSimulateTestCallsCallStruct = +export const useSimulateTestCallsUpgradeableCallStruct = /*#__PURE__*/ createUseSimulateContract({ - abi: testCallsAbi, - address: testCallsAddress, + abi: testCallsUpgradeableAbi, functionName: 'call_struct', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_uint"` - * - * + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_uint"` */ -export const useSimulateTestCallsCallUint = +export const useSimulateTestCallsUpgradeableCallUint = /*#__PURE__*/ createUseSimulateContract({ - abi: testCallsAbi, - address: testCallsAddress, + abi: testCallsUpgradeableAbi, functionName: 'call_uint', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_uintArray"` - * - * + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_uintArray"` */ -export const useSimulateTestCallsCallUintArray = +export const useSimulateTestCallsUpgradeableCallUintArray = /*#__PURE__*/ createUseSimulateContract({ - abi: testCallsAbi, - address: testCallsAddress, + abi: testCallsUpgradeableAbi, functionName: 'call_uintArray', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_uintArraySpecificLength"` - * - * + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_uintArraySpecificLength"` */ -export const useSimulateTestCallsCallUintArraySpecificLength = +export const useSimulateTestCallsUpgradeableCallUintArraySpecificLength = /*#__PURE__*/ createUseSimulateContract({ - abi: testCallsAbi, - address: testCallsAddress, + abi: testCallsUpgradeableAbi, functionName: 'call_uintArraySpecificLength', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"call_uintNestedArray"` - * - * + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_uintNestedArray"` */ -export const useSimulateTestCallsCallUintNestedArray = +export const useSimulateTestCallsUpgradeableCallUintNestedArray = /*#__PURE__*/ createUseSimulateContract({ - abi: testCallsAbi, - address: testCallsAddress, + abi: testCallsUpgradeableAbi, functionName: 'call_uintNestedArray', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"pay"` - * - * - */ -export const useSimulateTestCallsPay = /*#__PURE__*/ createUseSimulateContract({ - abi: testCallsAbi, - address: testCallsAddress, - functionName: 'pay', -}) - -/** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsAbi}__ and `functionName` set to `"two"` - * - * - */ -export const useSimulateTestCallsTwo = /*#__PURE__*/ createUseSimulateContract({ - abi: testCallsAbi, - address: testCallsAddress, - functionName: 'two', -}) - -/** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ - */ -export const useReadTestCallsUpgradeable = /*#__PURE__*/ createUseReadContract({ - abi: testCallsUpgradeableAbi, -}) - -/** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"length_uintArry"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"initialize"` */ -export const useReadTestCallsUpgradeableLengthUintArry = - /*#__PURE__*/ createUseReadContract({ +export const useSimulateTestCallsUpgradeableInitialize = + /*#__PURE__*/ createUseSimulateContract({ abi: testCallsUpgradeableAbi, - functionName: 'length_uintArry', + functionName: 'initialize', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"uintArray"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"pay"` */ -export const useReadTestCallsUpgradeableUintArray = - /*#__PURE__*/ createUseReadContract({ +export const useSimulateTestCallsUpgradeablePay = + /*#__PURE__*/ createUseSimulateContract({ abi: testCallsUpgradeableAbi, - functionName: 'uintArray', + functionName: 'pay', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"x"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"setX"` */ -export const useReadTestCallsUpgradeableX = /*#__PURE__*/ createUseReadContract( - { abi: testCallsUpgradeableAbi, functionName: 'x' }, -) +export const useSimulateTestCallsUpgradeableSetX = + /*#__PURE__*/ createUseSimulateContract({ + abi: testCallsUpgradeableAbi, + functionName: 'setX', + }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"two"` */ -export const useWriteTestCallsUpgradeable = - /*#__PURE__*/ createUseWriteContract({ abi: testCallsUpgradeableAbi }) +export const useSimulateTestCallsUpgradeableTwo = + /*#__PURE__*/ createUseSimulateContract({ + abi: testCallsUpgradeableAbi, + functionName: 'two', + }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"buy"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ */ -export const useWriteTestCallsUpgradeableBuy = - /*#__PURE__*/ createUseWriteContract({ - abi: testCallsUpgradeableAbi, - functionName: 'buy', - }) +export const useWatchTestCallsUpgradeableEvent = + /*#__PURE__*/ createUseWatchContractEvent({ abi: testCallsUpgradeableAbi }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_bytes"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `eventName` set to `"Initialized"` */ -export const useWriteTestCallsUpgradeableCallBytes = - /*#__PURE__*/ createUseWriteContract({ +export const useWatchTestCallsUpgradeableInitializedEvent = + /*#__PURE__*/ createUseWatchContractEvent({ abi: testCallsUpgradeableAbi, - functionName: 'call_bytes', + eventName: 'Initialized', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_bytes32"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesAbi}__ */ -export const useWriteTestCallsUpgradeableCallBytes32 = - /*#__PURE__*/ createUseWriteContract({ - abi: testCallsUpgradeableAbi, - functionName: 'call_bytes32', - }) +export const useReadTestTraces = /*#__PURE__*/ createUseReadContract({ + abi: testTracesAbi, +}) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_bytes32Array"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesAbi}__ and `functionName` set to `"call_get_value"` */ -export const useWriteTestCallsUpgradeableCallBytes32Array = - /*#__PURE__*/ createUseWriteContract({ - abi: testCallsUpgradeableAbi, - functionName: 'call_bytes32Array', +export const useReadTestTracesCallGetValue = + /*#__PURE__*/ createUseReadContract({ + abi: testTracesAbi, + functionName: 'call_get_value', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_bytesArray"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesAbi}__ and `functionName` set to `"get_value"` */ -export const useWriteTestCallsUpgradeableCallBytesArray = - /*#__PURE__*/ createUseWriteContract({ - abi: testCallsUpgradeableAbi, - functionName: 'call_bytesArray', - }) +export const useReadTestTracesGetValue = /*#__PURE__*/ createUseReadContract({ + abi: testTracesAbi, + functionName: 'get_value', +}) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_empty"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesDelegateCallsCalleeAbi}__ */ -export const useWriteTestCallsUpgradeableCallEmpty = - /*#__PURE__*/ createUseWriteContract({ - abi: testCallsUpgradeableAbi, - functionName: 'call_empty', - }) +export const useReadTestTracesDelegateCallsCallee = + /*#__PURE__*/ createUseReadContract({ abi: testTracesDelegateCallsCalleeAbi }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_nestedStruct"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesDelegateCallsCalleeAbi}__ and `functionName` set to `"number"` */ -export const useWriteTestCallsUpgradeableCallNestedStruct = - /*#__PURE__*/ createUseWriteContract({ - abi: testCallsUpgradeableAbi, - functionName: 'call_nestedStruct', +export const useReadTestTracesDelegateCallsCalleeNumber = + /*#__PURE__*/ createUseReadContract({ + abi: testTracesDelegateCallsCalleeAbi, + functionName: 'number', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_string"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testTracesDelegateCallsCalleeAbi}__ */ -export const useWriteTestCallsUpgradeableCallString = +export const useWriteTestTracesDelegateCallsCallee = /*#__PURE__*/ createUseWriteContract({ - abi: testCallsUpgradeableAbi, - functionName: 'call_string', + abi: testTracesDelegateCallsCalleeAbi, }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_stringArray"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testTracesDelegateCallsCalleeAbi}__ and `functionName` set to `"setNumber"` */ -export const useWriteTestCallsUpgradeableCallStringArray = +export const useWriteTestTracesDelegateCallsCalleeSetNumber = /*#__PURE__*/ createUseWriteContract({ - abi: testCallsUpgradeableAbi, - functionName: 'call_stringArray', + abi: testTracesDelegateCallsCalleeAbi, + functionName: 'setNumber', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_struct"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testTracesDelegateCallsCalleeAbi}__ */ -export const useWriteTestCallsUpgradeableCallStruct = - /*#__PURE__*/ createUseWriteContract({ - abi: testCallsUpgradeableAbi, - functionName: 'call_struct', +export const useSimulateTestTracesDelegateCallsCallee = + /*#__PURE__*/ createUseSimulateContract({ + abi: testTracesDelegateCallsCalleeAbi, }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_uint"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testTracesDelegateCallsCalleeAbi}__ and `functionName` set to `"setNumber"` */ -export const useWriteTestCallsUpgradeableCallUint = - /*#__PURE__*/ createUseWriteContract({ - abi: testCallsUpgradeableAbi, - functionName: 'call_uint', +export const useSimulateTestTracesDelegateCallsCalleeSetNumber = + /*#__PURE__*/ createUseSimulateContract({ + abi: testTracesDelegateCallsCalleeAbi, + functionName: 'setNumber', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_uintArray"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesDelegateCallsCallerAbi}__ */ -export const useWriteTestCallsUpgradeableCallUintArray = - /*#__PURE__*/ createUseWriteContract({ - abi: testCallsUpgradeableAbi, - functionName: 'call_uintArray', - }) +export const useReadTestTracesDelegateCallsCaller = + /*#__PURE__*/ createUseReadContract({ abi: testTracesDelegateCallsCallerAbi }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_uintArraySpecificLength"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesDelegateCallsCallerAbi}__ and `functionName` set to `"calleeAddress"` */ -export const useWriteTestCallsUpgradeableCallUintArraySpecificLength = - /*#__PURE__*/ createUseWriteContract({ - abi: testCallsUpgradeableAbi, - functionName: 'call_uintArraySpecificLength', +export const useReadTestTracesDelegateCallsCallerCalleeAddress = + /*#__PURE__*/ createUseReadContract({ + abi: testTracesDelegateCallsCallerAbi, + functionName: 'calleeAddress', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_uintNestedArray"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesDelegateCallsCallerAbi}__ and `functionName` set to `"number"` */ -export const useWriteTestCallsUpgradeableCallUintNestedArray = - /*#__PURE__*/ createUseWriteContract({ - abi: testCallsUpgradeableAbi, - functionName: 'call_uintNestedArray', +export const useReadTestTracesDelegateCallsCallerNumber = + /*#__PURE__*/ createUseReadContract({ + abi: testTracesDelegateCallsCallerAbi, + functionName: 'number', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"initialize"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testTracesDelegateCallsCallerAbi}__ */ -export const useWriteTestCallsUpgradeableInitialize = +export const useWriteTestTracesDelegateCallsCaller = /*#__PURE__*/ createUseWriteContract({ - abi: testCallsUpgradeableAbi, - functionName: 'initialize', + abi: testTracesDelegateCallsCallerAbi, }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"pay"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testTracesDelegateCallsCallerAbi}__ and `functionName` set to `"delegateSetNumber"` */ -export const useWriteTestCallsUpgradeablePay = +export const useWriteTestTracesDelegateCallsCallerDelegateSetNumber = /*#__PURE__*/ createUseWriteContract({ - abi: testCallsUpgradeableAbi, - functionName: 'pay', + abi: testTracesDelegateCallsCallerAbi, + functionName: 'delegateSetNumber', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"setX"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testTracesDelegateCallsCallerAbi}__ and `functionName` set to `"setCalleeAddress"` */ -export const useWriteTestCallsUpgradeableSetX = +export const useWriteTestTracesDelegateCallsCallerSetCalleeAddress = /*#__PURE__*/ createUseWriteContract({ - abi: testCallsUpgradeableAbi, - functionName: 'setX', + abi: testTracesDelegateCallsCallerAbi, + functionName: 'setCalleeAddress', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"two"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testTracesDelegateCallsCallerAbi}__ */ -export const useWriteTestCallsUpgradeableTwo = - /*#__PURE__*/ createUseWriteContract({ - abi: testCallsUpgradeableAbi, - functionName: 'two', +export const useSimulateTestTracesDelegateCallsCaller = + /*#__PURE__*/ createUseSimulateContract({ + abi: testTracesDelegateCallsCallerAbi, }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testTracesDelegateCallsCallerAbi}__ and `functionName` set to `"delegateSetNumber"` */ -export const useSimulateTestCallsUpgradeable = - /*#__PURE__*/ createUseSimulateContract({ abi: testCallsUpgradeableAbi }) +export const useSimulateTestTracesDelegateCallsCallerDelegateSetNumber = + /*#__PURE__*/ createUseSimulateContract({ + abi: testTracesDelegateCallsCallerAbi, + functionName: 'delegateSetNumber', + }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"buy"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testTracesDelegateCallsCallerAbi}__ and `functionName` set to `"setCalleeAddress"` */ -export const useSimulateTestCallsUpgradeableBuy = +export const useSimulateTestTracesDelegateCallsCallerSetCalleeAddress = /*#__PURE__*/ createUseSimulateContract({ - abi: testCallsUpgradeableAbi, - functionName: 'buy', + abi: testTracesDelegateCallsCallerAbi, + functionName: 'setCalleeAddress', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_bytes"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ */ -export const useSimulateTestCallsUpgradeableCallBytes = - /*#__PURE__*/ createUseSimulateContract({ - abi: testCallsUpgradeableAbi, - functionName: 'call_bytes', +export const useReadTestTracesDelegateCallsTest = + /*#__PURE__*/ createUseReadContract({ abi: testTracesDelegateCallsTestAbi }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `functionName` set to `"IS_TEST"` + */ +export const useReadTestTracesDelegateCallsTestIsTest = + /*#__PURE__*/ createUseReadContract({ + abi: testTracesDelegateCallsTestAbi, + functionName: 'IS_TEST', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_bytes32"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `functionName` set to `"excludeArtifacts"` */ -export const useSimulateTestCallsUpgradeableCallBytes32 = - /*#__PURE__*/ createUseSimulateContract({ - abi: testCallsUpgradeableAbi, - functionName: 'call_bytes32', +export const useReadTestTracesDelegateCallsTestExcludeArtifacts = + /*#__PURE__*/ createUseReadContract({ + abi: testTracesDelegateCallsTestAbi, + functionName: 'excludeArtifacts', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_bytes32Array"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `functionName` set to `"excludeContracts"` */ -export const useSimulateTestCallsUpgradeableCallBytes32Array = - /*#__PURE__*/ createUseSimulateContract({ - abi: testCallsUpgradeableAbi, - functionName: 'call_bytes32Array', +export const useReadTestTracesDelegateCallsTestExcludeContracts = + /*#__PURE__*/ createUseReadContract({ + abi: testTracesDelegateCallsTestAbi, + functionName: 'excludeContracts', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_bytesArray"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `functionName` set to `"excludeSelectors"` */ -export const useSimulateTestCallsUpgradeableCallBytesArray = - /*#__PURE__*/ createUseSimulateContract({ - abi: testCallsUpgradeableAbi, - functionName: 'call_bytesArray', +export const useReadTestTracesDelegateCallsTestExcludeSelectors = + /*#__PURE__*/ createUseReadContract({ + abi: testTracesDelegateCallsTestAbi, + functionName: 'excludeSelectors', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_empty"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `functionName` set to `"excludeSenders"` */ -export const useSimulateTestCallsUpgradeableCallEmpty = - /*#__PURE__*/ createUseSimulateContract({ - abi: testCallsUpgradeableAbi, - functionName: 'call_empty', +export const useReadTestTracesDelegateCallsTestExcludeSenders = + /*#__PURE__*/ createUseReadContract({ + abi: testTracesDelegateCallsTestAbi, + functionName: 'excludeSenders', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_nestedStruct"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `functionName` set to `"failed"` */ -export const useSimulateTestCallsUpgradeableCallNestedStruct = - /*#__PURE__*/ createUseSimulateContract({ - abi: testCallsUpgradeableAbi, - functionName: 'call_nestedStruct', +export const useReadTestTracesDelegateCallsTestFailed = + /*#__PURE__*/ createUseReadContract({ + abi: testTracesDelegateCallsTestAbi, + functionName: 'failed', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_string"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `functionName` set to `"targetArtifactSelectors"` */ -export const useSimulateTestCallsUpgradeableCallString = - /*#__PURE__*/ createUseSimulateContract({ - abi: testCallsUpgradeableAbi, - functionName: 'call_string', +export const useReadTestTracesDelegateCallsTestTargetArtifactSelectors = + /*#__PURE__*/ createUseReadContract({ + abi: testTracesDelegateCallsTestAbi, + functionName: 'targetArtifactSelectors', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_stringArray"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `functionName` set to `"targetArtifacts"` */ -export const useSimulateTestCallsUpgradeableCallStringArray = - /*#__PURE__*/ createUseSimulateContract({ - abi: testCallsUpgradeableAbi, - functionName: 'call_stringArray', +export const useReadTestTracesDelegateCallsTestTargetArtifacts = + /*#__PURE__*/ createUseReadContract({ + abi: testTracesDelegateCallsTestAbi, + functionName: 'targetArtifacts', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_struct"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `functionName` set to `"targetContracts"` */ -export const useSimulateTestCallsUpgradeableCallStruct = - /*#__PURE__*/ createUseSimulateContract({ - abi: testCallsUpgradeableAbi, - functionName: 'call_struct', +export const useReadTestTracesDelegateCallsTestTargetContracts = + /*#__PURE__*/ createUseReadContract({ + abi: testTracesDelegateCallsTestAbi, + functionName: 'targetContracts', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_uint"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `functionName` set to `"targetInterfaces"` */ -export const useSimulateTestCallsUpgradeableCallUint = - /*#__PURE__*/ createUseSimulateContract({ - abi: testCallsUpgradeableAbi, - functionName: 'call_uint', +export const useReadTestTracesDelegateCallsTestTargetInterfaces = + /*#__PURE__*/ createUseReadContract({ + abi: testTracesDelegateCallsTestAbi, + functionName: 'targetInterfaces', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_uintArray"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `functionName` set to `"targetSelectors"` */ -export const useSimulateTestCallsUpgradeableCallUintArray = - /*#__PURE__*/ createUseSimulateContract({ - abi: testCallsUpgradeableAbi, - functionName: 'call_uintArray', +export const useReadTestTracesDelegateCallsTestTargetSelectors = + /*#__PURE__*/ createUseReadContract({ + abi: testTracesDelegateCallsTestAbi, + functionName: 'targetSelectors', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_uintArraySpecificLength"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `functionName` set to `"targetSenders"` */ -export const useSimulateTestCallsUpgradeableCallUintArraySpecificLength = - /*#__PURE__*/ createUseSimulateContract({ - abi: testCallsUpgradeableAbi, - functionName: 'call_uintArraySpecificLength', +export const useReadTestTracesDelegateCallsTestTargetSenders = + /*#__PURE__*/ createUseReadContract({ + abi: testTracesDelegateCallsTestAbi, + functionName: 'targetSenders', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"call_uintNestedArray"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ */ -export const useSimulateTestCallsUpgradeableCallUintNestedArray = - /*#__PURE__*/ createUseSimulateContract({ - abi: testCallsUpgradeableAbi, - functionName: 'call_uintNestedArray', - }) +export const useWriteTestTracesDelegateCallsTest = + /*#__PURE__*/ createUseWriteContract({ abi: testTracesDelegateCallsTestAbi }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"initialize"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `functionName` set to `"setUp"` */ -export const useSimulateTestCallsUpgradeableInitialize = - /*#__PURE__*/ createUseSimulateContract({ - abi: testCallsUpgradeableAbi, - functionName: 'initialize', +export const useWriteTestTracesDelegateCallsTestSetUp = + /*#__PURE__*/ createUseWriteContract({ + abi: testTracesDelegateCallsTestAbi, + functionName: 'setUp', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"pay"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `functionName` set to `"test_delegate_call"` */ -export const useSimulateTestCallsUpgradeablePay = - /*#__PURE__*/ createUseSimulateContract({ - abi: testCallsUpgradeableAbi, - functionName: 'pay', +export const useWriteTestTracesDelegateCallsTestTestDelegateCall = + /*#__PURE__*/ createUseWriteContract({ + abi: testTracesDelegateCallsTestAbi, + functionName: 'test_delegate_call', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"setX"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ */ -export const useSimulateTestCallsUpgradeableSetX = +export const useSimulateTestTracesDelegateCallsTest = /*#__PURE__*/ createUseSimulateContract({ - abi: testCallsUpgradeableAbi, - functionName: 'setX', + abi: testTracesDelegateCallsTestAbi, }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `functionName` set to `"two"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `functionName` set to `"setUp"` */ -export const useSimulateTestCallsUpgradeableTwo = +export const useSimulateTestTracesDelegateCallsTestSetUp = /*#__PURE__*/ createUseSimulateContract({ - abi: testCallsUpgradeableAbi, - functionName: 'two', + abi: testTracesDelegateCallsTestAbi, + functionName: 'setUp', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `functionName` set to `"test_delegate_call"` */ -export const useWatchTestCallsUpgradeableEvent = - /*#__PURE__*/ createUseWatchContractEvent({ abi: testCallsUpgradeableAbi }) +export const useSimulateTestTracesDelegateCallsTestTestDelegateCall = + /*#__PURE__*/ createUseSimulateContract({ + abi: testTracesDelegateCallsTestAbi, + functionName: 'test_delegate_call', + }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testCallsUpgradeableAbi}__ and `eventName` set to `"Initialized"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ */ -export const useWatchTestCallsUpgradeableInitializedEvent = +export const useWatchTestTracesDelegateCallsTestEvent = /*#__PURE__*/ createUseWatchContractEvent({ - abi: testCallsUpgradeableAbi, - eventName: 'Initialized', + abi: testTracesDelegateCallsTestAbi, }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesAbi}__ + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `eventName` set to `"log"` */ -export const useReadTestTraces = /*#__PURE__*/ createUseReadContract({ - abi: testTracesAbi, -}) +export const useWatchTestTracesDelegateCallsTestLogEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: testTracesDelegateCallsTestAbi, + eventName: 'log', + }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesAbi}__ and `functionName` set to `"call_get_value"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `eventName` set to `"log_address"` */ -export const useReadTestTracesCallGetValue = - /*#__PURE__*/ createUseReadContract({ - abi: testTracesAbi, - functionName: 'call_get_value', +export const useWatchTestTracesDelegateCallsTestLogAddressEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: testTracesDelegateCallsTestAbi, + eventName: 'log_address', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesAbi}__ and `functionName` set to `"get_value"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `eventName` set to `"log_array"` */ -export const useReadTestTracesGetValue = /*#__PURE__*/ createUseReadContract({ - abi: testTracesAbi, - functionName: 'get_value', -}) +export const useWatchTestTracesDelegateCallsTestLogArrayEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: testTracesDelegateCallsTestAbi, + eventName: 'log_array', + }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesDelegateCallsCalleeAbi}__ + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `eventName` set to `"log_bytes"` */ -export const useReadTestTracesDelegateCallsCallee = - /*#__PURE__*/ createUseReadContract({ abi: testTracesDelegateCallsCalleeAbi }) +export const useWatchTestTracesDelegateCallsTestLogBytesEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: testTracesDelegateCallsTestAbi, + eventName: 'log_bytes', + }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesDelegateCallsCalleeAbi}__ and `functionName` set to `"number"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `eventName` set to `"log_bytes32"` */ -export const useReadTestTracesDelegateCallsCalleeNumber = - /*#__PURE__*/ createUseReadContract({ - abi: testTracesDelegateCallsCalleeAbi, - functionName: 'number', +export const useWatchTestTracesDelegateCallsTestLogBytes32Event = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: testTracesDelegateCallsTestAbi, + eventName: 'log_bytes32', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testTracesDelegateCallsCalleeAbi}__ + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `eventName` set to `"log_int"` */ -export const useWriteTestTracesDelegateCallsCallee = - /*#__PURE__*/ createUseWriteContract({ - abi: testTracesDelegateCallsCalleeAbi, +export const useWatchTestTracesDelegateCallsTestLogIntEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: testTracesDelegateCallsTestAbi, + eventName: 'log_int', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testTracesDelegateCallsCalleeAbi}__ and `functionName` set to `"setNumber"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `eventName` set to `"log_named_address"` */ -export const useWriteTestTracesDelegateCallsCalleeSetNumber = - /*#__PURE__*/ createUseWriteContract({ - abi: testTracesDelegateCallsCalleeAbi, - functionName: 'setNumber', +export const useWatchTestTracesDelegateCallsTestLogNamedAddressEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: testTracesDelegateCallsTestAbi, + eventName: 'log_named_address', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testTracesDelegateCallsCalleeAbi}__ + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `eventName` set to `"log_named_array"` */ -export const useSimulateTestTracesDelegateCallsCallee = - /*#__PURE__*/ createUseSimulateContract({ - abi: testTracesDelegateCallsCalleeAbi, +export const useWatchTestTracesDelegateCallsTestLogNamedArrayEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: testTracesDelegateCallsTestAbi, + eventName: 'log_named_array', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testTracesDelegateCallsCalleeAbi}__ and `functionName` set to `"setNumber"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `eventName` set to `"log_named_bytes"` */ -export const useSimulateTestTracesDelegateCallsCalleeSetNumber = - /*#__PURE__*/ createUseSimulateContract({ - abi: testTracesDelegateCallsCalleeAbi, - functionName: 'setNumber', +export const useWatchTestTracesDelegateCallsTestLogNamedBytesEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: testTracesDelegateCallsTestAbi, + eventName: 'log_named_bytes', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesDelegateCallsCallerAbi}__ + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `eventName` set to `"log_named_bytes32"` */ -export const useReadTestTracesDelegateCallsCaller = - /*#__PURE__*/ createUseReadContract({ abi: testTracesDelegateCallsCallerAbi }) +export const useWatchTestTracesDelegateCallsTestLogNamedBytes32Event = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: testTracesDelegateCallsTestAbi, + eventName: 'log_named_bytes32', + }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesDelegateCallsCallerAbi}__ and `functionName` set to `"calleeAddress"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `eventName` set to `"log_named_decimal_int"` */ -export const useReadTestTracesDelegateCallsCallerCalleeAddress = - /*#__PURE__*/ createUseReadContract({ - abi: testTracesDelegateCallsCallerAbi, - functionName: 'calleeAddress', +export const useWatchTestTracesDelegateCallsTestLogNamedDecimalIntEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: testTracesDelegateCallsTestAbi, + eventName: 'log_named_decimal_int', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesDelegateCallsCallerAbi}__ and `functionName` set to `"number"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `eventName` set to `"log_named_decimal_uint"` */ -export const useReadTestTracesDelegateCallsCallerNumber = - /*#__PURE__*/ createUseReadContract({ - abi: testTracesDelegateCallsCallerAbi, - functionName: 'number', +export const useWatchTestTracesDelegateCallsTestLogNamedDecimalUintEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: testTracesDelegateCallsTestAbi, + eventName: 'log_named_decimal_uint', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testTracesDelegateCallsCallerAbi}__ + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `eventName` set to `"log_named_int"` */ -export const useWriteTestTracesDelegateCallsCaller = - /*#__PURE__*/ createUseWriteContract({ - abi: testTracesDelegateCallsCallerAbi, +export const useWatchTestTracesDelegateCallsTestLogNamedIntEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: testTracesDelegateCallsTestAbi, + eventName: 'log_named_int', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testTracesDelegateCallsCallerAbi}__ and `functionName` set to `"delegateSetNumber"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `eventName` set to `"log_named_string"` */ -export const useWriteTestTracesDelegateCallsCallerDelegateSetNumber = - /*#__PURE__*/ createUseWriteContract({ - abi: testTracesDelegateCallsCallerAbi, - functionName: 'delegateSetNumber', +export const useWatchTestTracesDelegateCallsTestLogNamedStringEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: testTracesDelegateCallsTestAbi, + eventName: 'log_named_string', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testTracesDelegateCallsCallerAbi}__ and `functionName` set to `"setCalleeAddress"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `eventName` set to `"log_named_uint"` */ -export const useWriteTestTracesDelegateCallsCallerSetCalleeAddress = - /*#__PURE__*/ createUseWriteContract({ - abi: testTracesDelegateCallsCallerAbi, - functionName: 'setCalleeAddress', +export const useWatchTestTracesDelegateCallsTestLogNamedUintEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: testTracesDelegateCallsTestAbi, + eventName: 'log_named_uint', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testTracesDelegateCallsCallerAbi}__ + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `eventName` set to `"log_string"` */ -export const useSimulateTestTracesDelegateCallsCaller = - /*#__PURE__*/ createUseSimulateContract({ - abi: testTracesDelegateCallsCallerAbi, +export const useWatchTestTracesDelegateCallsTestLogStringEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: testTracesDelegateCallsTestAbi, + eventName: 'log_string', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testTracesDelegateCallsCallerAbi}__ and `functionName` set to `"delegateSetNumber"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `eventName` set to `"log_uint"` */ -export const useSimulateTestTracesDelegateCallsCallerDelegateSetNumber = - /*#__PURE__*/ createUseSimulateContract({ - abi: testTracesDelegateCallsCallerAbi, - functionName: 'delegateSetNumber', +export const useWatchTestTracesDelegateCallsTestLogUintEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: testTracesDelegateCallsTestAbi, + eventName: 'log_uint', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testTracesDelegateCallsCallerAbi}__ and `functionName` set to `"setCalleeAddress"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `eventName` set to `"logs"` */ -export const useSimulateTestTracesDelegateCallsCallerSetCalleeAddress = - /*#__PURE__*/ createUseSimulateContract({ - abi: testTracesDelegateCallsCallerAbi, - functionName: 'setCalleeAddress', +export const useWatchTestTracesDelegateCallsTestLogsEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: testTracesDelegateCallsTestAbi, + eventName: 'logs', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ + * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesTestAbi}__ */ -export const useReadTestTracesDelegateCallsTest = - /*#__PURE__*/ createUseReadContract({ abi: testTracesDelegateCallsTestAbi }) +export const useReadTestTracesTest = /*#__PURE__*/ createUseReadContract({ + abi: testTracesTestAbi, +}) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `functionName` set to `"IS_TEST"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesTestAbi}__ and `functionName` set to `"IS_TEST"` */ -export const useReadTestTracesDelegateCallsTestIsTest = - /*#__PURE__*/ createUseReadContract({ - abi: testTracesDelegateCallsTestAbi, - functionName: 'IS_TEST', - }) +export const useReadTestTracesTestIsTest = /*#__PURE__*/ createUseReadContract({ + abi: testTracesTestAbi, + functionName: 'IS_TEST', +}) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `functionName` set to `"excludeArtifacts"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesTestAbi}__ and `functionName` set to `"excludeArtifacts"` */ -export const useReadTestTracesDelegateCallsTestExcludeArtifacts = +export const useReadTestTracesTestExcludeArtifacts = /*#__PURE__*/ createUseReadContract({ - abi: testTracesDelegateCallsTestAbi, + abi: testTracesTestAbi, functionName: 'excludeArtifacts', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `functionName` set to `"excludeContracts"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesTestAbi}__ and `functionName` set to `"excludeContracts"` */ -export const useReadTestTracesDelegateCallsTestExcludeContracts = +export const useReadTestTracesTestExcludeContracts = /*#__PURE__*/ createUseReadContract({ - abi: testTracesDelegateCallsTestAbi, + abi: testTracesTestAbi, functionName: 'excludeContracts', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `functionName` set to `"excludeSelectors"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesTestAbi}__ and `functionName` set to `"excludeSelectors"` */ -export const useReadTestTracesDelegateCallsTestExcludeSelectors = +export const useReadTestTracesTestExcludeSelectors = /*#__PURE__*/ createUseReadContract({ - abi: testTracesDelegateCallsTestAbi, + abi: testTracesTestAbi, functionName: 'excludeSelectors', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `functionName` set to `"excludeSenders"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesTestAbi}__ and `functionName` set to `"excludeSenders"` */ -export const useReadTestTracesDelegateCallsTestExcludeSenders = +export const useReadTestTracesTestExcludeSenders = /*#__PURE__*/ createUseReadContract({ - abi: testTracesDelegateCallsTestAbi, + abi: testTracesTestAbi, functionName: 'excludeSenders', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `functionName` set to `"failed"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesTestAbi}__ and `functionName` set to `"failed"` */ -export const useReadTestTracesDelegateCallsTestFailed = - /*#__PURE__*/ createUseReadContract({ - abi: testTracesDelegateCallsTestAbi, - functionName: 'failed', - }) +export const useReadTestTracesTestFailed = /*#__PURE__*/ createUseReadContract({ + abi: testTracesTestAbi, + functionName: 'failed', +}) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `functionName` set to `"targetArtifactSelectors"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesTestAbi}__ and `functionName` set to `"targetArtifactSelectors"` */ -export const useReadTestTracesDelegateCallsTestTargetArtifactSelectors = +export const useReadTestTracesTestTargetArtifactSelectors = /*#__PURE__*/ createUseReadContract({ - abi: testTracesDelegateCallsTestAbi, + abi: testTracesTestAbi, functionName: 'targetArtifactSelectors', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `functionName` set to `"targetArtifacts"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesTestAbi}__ and `functionName` set to `"targetArtifacts"` */ -export const useReadTestTracesDelegateCallsTestTargetArtifacts = +export const useReadTestTracesTestTargetArtifacts = /*#__PURE__*/ createUseReadContract({ - abi: testTracesDelegateCallsTestAbi, + abi: testTracesTestAbi, functionName: 'targetArtifacts', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `functionName` set to `"targetContracts"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesTestAbi}__ and `functionName` set to `"targetContracts"` */ -export const useReadTestTracesDelegateCallsTestTargetContracts = +export const useReadTestTracesTestTargetContracts = /*#__PURE__*/ createUseReadContract({ - abi: testTracesDelegateCallsTestAbi, + abi: testTracesTestAbi, functionName: 'targetContracts', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `functionName` set to `"targetInterfaces"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesTestAbi}__ and `functionName` set to `"targetInterfaces"` */ -export const useReadTestTracesDelegateCallsTestTargetInterfaces = +export const useReadTestTracesTestTargetInterfaces = /*#__PURE__*/ createUseReadContract({ - abi: testTracesDelegateCallsTestAbi, + abi: testTracesTestAbi, functionName: 'targetInterfaces', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `functionName` set to `"targetSelectors"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesTestAbi}__ and `functionName` set to `"targetSelectors"` */ -export const useReadTestTracesDelegateCallsTestTargetSelectors = +export const useReadTestTracesTestTargetSelectors = /*#__PURE__*/ createUseReadContract({ - abi: testTracesDelegateCallsTestAbi, + abi: testTracesTestAbi, functionName: 'targetSelectors', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `functionName` set to `"targetSenders"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesTestAbi}__ and `functionName` set to `"targetSenders"` */ -export const useReadTestTracesDelegateCallsTestTargetSenders = +export const useReadTestTracesTestTargetSenders = /*#__PURE__*/ createUseReadContract({ - abi: testTracesDelegateCallsTestAbi, + abi: testTracesTestAbi, functionName: 'targetSenders', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ - */ -export const useWriteTestTracesDelegateCallsTest = - /*#__PURE__*/ createUseWriteContract({ abi: testTracesDelegateCallsTestAbi }) - -/** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `functionName` set to `"setUp"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesTestAbi}__ and `functionName` set to `"test_call_function"` */ -export const useWriteTestTracesDelegateCallsTestSetUp = - /*#__PURE__*/ createUseWriteContract({ - abi: testTracesDelegateCallsTestAbi, - functionName: 'setUp', +export const useReadTestTracesTestTestCallFunction = + /*#__PURE__*/ createUseReadContract({ + abi: testTracesTestAbi, + functionName: 'test_call_function', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `functionName` set to `"test_delegate_call"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testTracesTestAbi}__ */ -export const useWriteTestTracesDelegateCallsTestTestDelegateCall = - /*#__PURE__*/ createUseWriteContract({ - abi: testTracesDelegateCallsTestAbi, - functionName: 'test_delegate_call', - }) +export const useWriteTestTracesTest = /*#__PURE__*/ createUseWriteContract({ + abi: testTracesTestAbi, +}) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testTracesTestAbi}__ and `functionName` set to `"setUp"` */ -export const useSimulateTestTracesDelegateCallsTest = - /*#__PURE__*/ createUseSimulateContract({ - abi: testTracesDelegateCallsTestAbi, - }) +export const useWriteTestTracesTestSetUp = /*#__PURE__*/ createUseWriteContract( + { abi: testTracesTestAbi, functionName: 'setUp' }, +) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `functionName` set to `"setUp"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testTracesTestAbi}__ */ -export const useSimulateTestTracesDelegateCallsTestSetUp = - /*#__PURE__*/ createUseSimulateContract({ - abi: testTracesDelegateCallsTestAbi, - functionName: 'setUp', - }) +export const useSimulateTestTracesTest = + /*#__PURE__*/ createUseSimulateContract({ abi: testTracesTestAbi }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `functionName` set to `"test_delegate_call"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testTracesTestAbi}__ and `functionName` set to `"setUp"` */ -export const useSimulateTestTracesDelegateCallsTestTestDelegateCall = +export const useSimulateTestTracesTestSetUp = /*#__PURE__*/ createUseSimulateContract({ - abi: testTracesDelegateCallsTestAbi, - functionName: 'test_delegate_call', + abi: testTracesTestAbi, + functionName: 'setUp', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesTestAbi}__ */ -export const useWatchTestTracesDelegateCallsTestEvent = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: testTracesDelegateCallsTestAbi, - }) +export const useWatchTestTracesTestEvent = + /*#__PURE__*/ createUseWatchContractEvent({ abi: testTracesTestAbi }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `eventName` set to `"log"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesTestAbi}__ and `eventName` set to `"log"` */ -export const useWatchTestTracesDelegateCallsTestLogEvent = +export const useWatchTestTracesTestLogEvent = /*#__PURE__*/ createUseWatchContractEvent({ - abi: testTracesDelegateCallsTestAbi, + abi: testTracesTestAbi, eventName: 'log', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `eventName` set to `"log_address"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesTestAbi}__ and `eventName` set to `"log_address"` */ -export const useWatchTestTracesDelegateCallsTestLogAddressEvent = +export const useWatchTestTracesTestLogAddressEvent = /*#__PURE__*/ createUseWatchContractEvent({ - abi: testTracesDelegateCallsTestAbi, + abi: testTracesTestAbi, eventName: 'log_address', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `eventName` set to `"log_array"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesTestAbi}__ and `eventName` set to `"log_array"` */ -export const useWatchTestTracesDelegateCallsTestLogArrayEvent = +export const useWatchTestTracesTestLogArrayEvent = /*#__PURE__*/ createUseWatchContractEvent({ - abi: testTracesDelegateCallsTestAbi, + abi: testTracesTestAbi, eventName: 'log_array', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `eventName` set to `"log_bytes"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesTestAbi}__ and `eventName` set to `"log_bytes"` */ -export const useWatchTestTracesDelegateCallsTestLogBytesEvent = +export const useWatchTestTracesTestLogBytesEvent = /*#__PURE__*/ createUseWatchContractEvent({ - abi: testTracesDelegateCallsTestAbi, + abi: testTracesTestAbi, eventName: 'log_bytes', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `eventName` set to `"log_bytes32"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesTestAbi}__ and `eventName` set to `"log_bytes32"` */ -export const useWatchTestTracesDelegateCallsTestLogBytes32Event = +export const useWatchTestTracesTestLogBytes32Event = /*#__PURE__*/ createUseWatchContractEvent({ - abi: testTracesDelegateCallsTestAbi, + abi: testTracesTestAbi, eventName: 'log_bytes32', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `eventName` set to `"log_int"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesTestAbi}__ and `eventName` set to `"log_int"` */ -export const useWatchTestTracesDelegateCallsTestLogIntEvent = +export const useWatchTestTracesTestLogIntEvent = /*#__PURE__*/ createUseWatchContractEvent({ - abi: testTracesDelegateCallsTestAbi, + abi: testTracesTestAbi, eventName: 'log_int', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `eventName` set to `"log_named_address"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesTestAbi}__ and `eventName` set to `"log_named_address"` */ -export const useWatchTestTracesDelegateCallsTestLogNamedAddressEvent = +export const useWatchTestTracesTestLogNamedAddressEvent = /*#__PURE__*/ createUseWatchContractEvent({ - abi: testTracesDelegateCallsTestAbi, + abi: testTracesTestAbi, eventName: 'log_named_address', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `eventName` set to `"log_named_array"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesTestAbi}__ and `eventName` set to `"log_named_array"` */ -export const useWatchTestTracesDelegateCallsTestLogNamedArrayEvent = +export const useWatchTestTracesTestLogNamedArrayEvent = /*#__PURE__*/ createUseWatchContractEvent({ - abi: testTracesDelegateCallsTestAbi, + abi: testTracesTestAbi, eventName: 'log_named_array', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `eventName` set to `"log_named_bytes"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesTestAbi}__ and `eventName` set to `"log_named_bytes"` */ -export const useWatchTestTracesDelegateCallsTestLogNamedBytesEvent = +export const useWatchTestTracesTestLogNamedBytesEvent = /*#__PURE__*/ createUseWatchContractEvent({ - abi: testTracesDelegateCallsTestAbi, + abi: testTracesTestAbi, eventName: 'log_named_bytes', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `eventName` set to `"log_named_bytes32"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesTestAbi}__ and `eventName` set to `"log_named_bytes32"` */ -export const useWatchTestTracesDelegateCallsTestLogNamedBytes32Event = +export const useWatchTestTracesTestLogNamedBytes32Event = /*#__PURE__*/ createUseWatchContractEvent({ - abi: testTracesDelegateCallsTestAbi, + abi: testTracesTestAbi, eventName: 'log_named_bytes32', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `eventName` set to `"log_named_decimal_int"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesTestAbi}__ and `eventName` set to `"log_named_decimal_int"` */ -export const useWatchTestTracesDelegateCallsTestLogNamedDecimalIntEvent = +export const useWatchTestTracesTestLogNamedDecimalIntEvent = /*#__PURE__*/ createUseWatchContractEvent({ - abi: testTracesDelegateCallsTestAbi, + abi: testTracesTestAbi, eventName: 'log_named_decimal_int', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `eventName` set to `"log_named_decimal_uint"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesTestAbi}__ and `eventName` set to `"log_named_decimal_uint"` */ -export const useWatchTestTracesDelegateCallsTestLogNamedDecimalUintEvent = +export const useWatchTestTracesTestLogNamedDecimalUintEvent = /*#__PURE__*/ createUseWatchContractEvent({ - abi: testTracesDelegateCallsTestAbi, + abi: testTracesTestAbi, eventName: 'log_named_decimal_uint', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `eventName` set to `"log_named_int"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesTestAbi}__ and `eventName` set to `"log_named_int"` */ -export const useWatchTestTracesDelegateCallsTestLogNamedIntEvent = +export const useWatchTestTracesTestLogNamedIntEvent = /*#__PURE__*/ createUseWatchContractEvent({ - abi: testTracesDelegateCallsTestAbi, + abi: testTracesTestAbi, eventName: 'log_named_int', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `eventName` set to `"log_named_string"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesTestAbi}__ and `eventName` set to `"log_named_string"` */ -export const useWatchTestTracesDelegateCallsTestLogNamedStringEvent = +export const useWatchTestTracesTestLogNamedStringEvent = /*#__PURE__*/ createUseWatchContractEvent({ - abi: testTracesDelegateCallsTestAbi, + abi: testTracesTestAbi, eventName: 'log_named_string', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `eventName` set to `"log_named_uint"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesTestAbi}__ and `eventName` set to `"log_named_uint"` */ -export const useWatchTestTracesDelegateCallsTestLogNamedUintEvent = +export const useWatchTestTracesTestLogNamedUintEvent = /*#__PURE__*/ createUseWatchContractEvent({ - abi: testTracesDelegateCallsTestAbi, + abi: testTracesTestAbi, eventName: 'log_named_uint', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `eventName` set to `"log_string"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesTestAbi}__ and `eventName` set to `"log_string"` */ -export const useWatchTestTracesDelegateCallsTestLogStringEvent = +export const useWatchTestTracesTestLogStringEvent = /*#__PURE__*/ createUseWatchContractEvent({ - abi: testTracesDelegateCallsTestAbi, + abi: testTracesTestAbi, eventName: 'log_string', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `eventName` set to `"log_uint"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesTestAbi}__ and `eventName` set to `"log_uint"` */ -export const useWatchTestTracesDelegateCallsTestLogUintEvent = +export const useWatchTestTracesTestLogUintEvent = /*#__PURE__*/ createUseWatchContractEvent({ - abi: testTracesDelegateCallsTestAbi, + abi: testTracesTestAbi, eventName: 'log_uint', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesDelegateCallsTestAbi}__ and `eventName` set to `"logs"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesTestAbi}__ and `eventName` set to `"logs"` + */ +export const useWatchTestTracesTestLogsEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: testTracesTestAbi, + eventName: 'logs', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link tokenAbi}__ + * + * + */ +export const useReadToken = /*#__PURE__*/ createUseReadContract({ + abi: tokenAbi, + address: tokenAddress, +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link tokenAbi}__ and `functionName` set to `"allowance"` + * + * */ -export const useWatchTestTracesDelegateCallsTestLogsEvent = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: testTracesDelegateCallsTestAbi, - eventName: 'logs', - }) +export const useReadTokenAllowance = /*#__PURE__*/ createUseReadContract({ + abi: tokenAbi, + address: tokenAddress, + functionName: 'allowance', +}) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesTestAbi}__ + * Wraps __{@link useReadContract}__ with `abi` set to __{@link tokenAbi}__ and `functionName` set to `"balanceOf"` + * + * */ -export const useReadTestTracesTest = /*#__PURE__*/ createUseReadContract({ - abi: testTracesTestAbi, +export const useReadTokenBalanceOf = /*#__PURE__*/ createUseReadContract({ + abi: tokenAbi, + address: tokenAddress, + functionName: 'balanceOf', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesTestAbi}__ and `functionName` set to `"IS_TEST"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link tokenAbi}__ and `functionName` set to `"decimals"` + * + * */ -export const useReadTestTracesTestIsTest = /*#__PURE__*/ createUseReadContract({ - abi: testTracesTestAbi, - functionName: 'IS_TEST', +export const useReadTokenDecimals = /*#__PURE__*/ createUseReadContract({ + abi: tokenAbi, + address: tokenAddress, + functionName: 'decimals', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesTestAbi}__ and `functionName` set to `"excludeArtifacts"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link tokenAbi}__ and `functionName` set to `"name"` + * + * */ -export const useReadTestTracesTestExcludeArtifacts = - /*#__PURE__*/ createUseReadContract({ - abi: testTracesTestAbi, - functionName: 'excludeArtifacts', - }) +export const useReadTokenName = /*#__PURE__*/ createUseReadContract({ + abi: tokenAbi, + address: tokenAddress, + functionName: 'name', +}) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesTestAbi}__ and `functionName` set to `"excludeContracts"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link tokenAbi}__ and `functionName` set to `"symbol"` + * + * */ -export const useReadTestTracesTestExcludeContracts = - /*#__PURE__*/ createUseReadContract({ - abi: testTracesTestAbi, - functionName: 'excludeContracts', - }) +export const useReadTokenSymbol = /*#__PURE__*/ createUseReadContract({ + abi: tokenAbi, + address: tokenAddress, + functionName: 'symbol', +}) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesTestAbi}__ and `functionName` set to `"excludeSelectors"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link tokenAbi}__ and `functionName` set to `"totalSupply"` + * + * */ -export const useReadTestTracesTestExcludeSelectors = - /*#__PURE__*/ createUseReadContract({ - abi: testTracesTestAbi, - functionName: 'excludeSelectors', - }) +export const useReadTokenTotalSupply = /*#__PURE__*/ createUseReadContract({ + abi: tokenAbi, + address: tokenAddress, + functionName: 'totalSupply', +}) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesTestAbi}__ and `functionName` set to `"excludeSenders"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link tokenAbi}__ + * + * */ -export const useReadTestTracesTestExcludeSenders = - /*#__PURE__*/ createUseReadContract({ - abi: testTracesTestAbi, - functionName: 'excludeSenders', - }) +export const useWriteToken = /*#__PURE__*/ createUseWriteContract({ + abi: tokenAbi, + address: tokenAddress, +}) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesTestAbi}__ and `functionName` set to `"failed"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link tokenAbi}__ and `functionName` set to `"approve"` + * + * */ -export const useReadTestTracesTestFailed = /*#__PURE__*/ createUseReadContract({ - abi: testTracesTestAbi, - functionName: 'failed', +export const useWriteTokenApprove = /*#__PURE__*/ createUseWriteContract({ + abi: tokenAbi, + address: tokenAddress, + functionName: 'approve', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesTestAbi}__ and `functionName` set to `"targetArtifactSelectors"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link tokenAbi}__ and `functionName` set to `"burn"` + * + * */ -export const useReadTestTracesTestTargetArtifactSelectors = - /*#__PURE__*/ createUseReadContract({ - abi: testTracesTestAbi, - functionName: 'targetArtifactSelectors', - }) +export const useWriteTokenBurn = /*#__PURE__*/ createUseWriteContract({ + abi: tokenAbi, + address: tokenAddress, + functionName: 'burn', +}) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesTestAbi}__ and `functionName` set to `"targetArtifacts"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link tokenAbi}__ and `functionName` set to `"mint"` + * + * */ -export const useReadTestTracesTestTargetArtifacts = - /*#__PURE__*/ createUseReadContract({ - abi: testTracesTestAbi, - functionName: 'targetArtifacts', - }) +export const useWriteTokenMint = /*#__PURE__*/ createUseWriteContract({ + abi: tokenAbi, + address: tokenAddress, + functionName: 'mint', +}) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesTestAbi}__ and `functionName` set to `"targetContracts"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link tokenAbi}__ and `functionName` set to `"transfer"` + * + * */ -export const useReadTestTracesTestTargetContracts = - /*#__PURE__*/ createUseReadContract({ - abi: testTracesTestAbi, - functionName: 'targetContracts', - }) +export const useWriteTokenTransfer = /*#__PURE__*/ createUseWriteContract({ + abi: tokenAbi, + address: tokenAddress, + functionName: 'transfer', +}) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesTestAbi}__ and `functionName` set to `"targetInterfaces"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link tokenAbi}__ and `functionName` set to `"transferFrom"` + * + * */ -export const useReadTestTracesTestTargetInterfaces = - /*#__PURE__*/ createUseReadContract({ - abi: testTracesTestAbi, - functionName: 'targetInterfaces', - }) +export const useWriteTokenTransferFrom = /*#__PURE__*/ createUseWriteContract({ + abi: tokenAbi, + address: tokenAddress, + functionName: 'transferFrom', +}) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesTestAbi}__ and `functionName` set to `"targetSelectors"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link tokenAbi}__ + * + * */ -export const useReadTestTracesTestTargetSelectors = - /*#__PURE__*/ createUseReadContract({ - abi: testTracesTestAbi, - functionName: 'targetSelectors', - }) +export const useSimulateToken = /*#__PURE__*/ createUseSimulateContract({ + abi: tokenAbi, + address: tokenAddress, +}) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesTestAbi}__ and `functionName` set to `"targetSenders"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link tokenAbi}__ and `functionName` set to `"approve"` + * + * */ -export const useReadTestTracesTestTargetSenders = - /*#__PURE__*/ createUseReadContract({ - abi: testTracesTestAbi, - functionName: 'targetSenders', - }) +export const useSimulateTokenApprove = /*#__PURE__*/ createUseSimulateContract({ + abi: tokenAbi, + address: tokenAddress, + functionName: 'approve', +}) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link testTracesTestAbi}__ and `functionName` set to `"test_call_function"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link tokenAbi}__ and `functionName` set to `"burn"` + * + * */ -export const useReadTestTracesTestTestCallFunction = - /*#__PURE__*/ createUseReadContract({ - abi: testTracesTestAbi, - functionName: 'test_call_function', - }) +export const useSimulateTokenBurn = /*#__PURE__*/ createUseSimulateContract({ + abi: tokenAbi, + address: tokenAddress, + functionName: 'burn', +}) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testTracesTestAbi}__ + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link tokenAbi}__ and `functionName` set to `"mint"` + * + * */ -export const useWriteTestTracesTest = /*#__PURE__*/ createUseWriteContract({ - abi: testTracesTestAbi, +export const useSimulateTokenMint = /*#__PURE__*/ createUseSimulateContract({ + abi: tokenAbi, + address: tokenAddress, + functionName: 'mint', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link testTracesTestAbi}__ and `functionName` set to `"setUp"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link tokenAbi}__ and `functionName` set to `"transfer"` + * + * */ -export const useWriteTestTracesTestSetUp = /*#__PURE__*/ createUseWriteContract( - { abi: testTracesTestAbi, functionName: 'setUp' }, +export const useSimulateTokenTransfer = /*#__PURE__*/ createUseSimulateContract( + { abi: tokenAbi, address: tokenAddress, functionName: 'transfer' }, ) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testTracesTestAbi}__ + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link tokenAbi}__ and `functionName` set to `"transferFrom"` + * + * */ -export const useSimulateTestTracesTest = - /*#__PURE__*/ createUseSimulateContract({ abi: testTracesTestAbi }) +export const useSimulateTokenTransferFrom = + /*#__PURE__*/ createUseSimulateContract({ + abi: tokenAbi, + address: tokenAddress, + functionName: 'transferFrom', + }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link testTracesTestAbi}__ and `functionName` set to `"setUp"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link tokenAbi}__ + * + * */ -export const useSimulateTestTracesTestSetUp = - /*#__PURE__*/ createUseSimulateContract({ - abi: testTracesTestAbi, - functionName: 'setUp', +export const useWatchTokenEvent = /*#__PURE__*/ createUseWatchContractEvent({ + abi: tokenAbi, + address: tokenAddress, +}) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link tokenAbi}__ and `eventName` set to `"Approval"` + * + * + */ +export const useWatchTokenApprovalEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: tokenAbi, + address: tokenAddress, + eventName: 'Approval', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesTestAbi}__ + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link tokenAbi}__ and `eventName` set to `"Transfer"` + * + * */ -export const useWatchTestTracesTestEvent = - /*#__PURE__*/ createUseWatchContractEvent({ abi: testTracesTestAbi }) +export const useWatchTokenTransferEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: tokenAbi, + address: tokenAddress, + eventName: 'Transfer', + }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesTestAbi}__ and `eventName` set to `"log"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link transparentUpgradeableProxyAbi}__ */ -export const useWatchTestTracesTestLogEvent = +export const useWatchTransparentUpgradeableProxyEvent = /*#__PURE__*/ createUseWatchContractEvent({ - abi: testTracesTestAbi, - eventName: 'log', + abi: transparentUpgradeableProxyAbi, }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesTestAbi}__ and `eventName` set to `"log_address"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link transparentUpgradeableProxyAbi}__ and `eventName` set to `"AdminChanged"` */ -export const useWatchTestTracesTestLogAddressEvent = +export const useWatchTransparentUpgradeableProxyAdminChangedEvent = /*#__PURE__*/ createUseWatchContractEvent({ - abi: testTracesTestAbi, - eventName: 'log_address', + abi: transparentUpgradeableProxyAbi, + eventName: 'AdminChanged', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesTestAbi}__ and `eventName` set to `"log_array"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link transparentUpgradeableProxyAbi}__ and `eventName` set to `"Upgraded"` */ -export const useWatchTestTracesTestLogArrayEvent = +export const useWatchTransparentUpgradeableProxyUpgradedEvent = /*#__PURE__*/ createUseWatchContractEvent({ - abi: testTracesTestAbi, - eventName: 'log_array', + abi: transparentUpgradeableProxyAbi, + eventName: 'Upgraded', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesTestAbi}__ and `eventName` set to `"log_bytes"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link upgradeableBeaconAbi}__ */ -export const useWatchTestTracesTestLogBytesEvent = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: testTracesTestAbi, - eventName: 'log_bytes', - }) +export const useReadUpgradeableBeacon = /*#__PURE__*/ createUseReadContract({ + abi: upgradeableBeaconAbi, +}) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesTestAbi}__ and `eventName` set to `"log_bytes32"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link upgradeableBeaconAbi}__ and `functionName` set to `"implementation"` */ -export const useWatchTestTracesTestLogBytes32Event = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: testTracesTestAbi, - eventName: 'log_bytes32', +export const useReadUpgradeableBeaconImplementation = + /*#__PURE__*/ createUseReadContract({ + abi: upgradeableBeaconAbi, + functionName: 'implementation', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesTestAbi}__ and `eventName` set to `"log_int"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link upgradeableBeaconAbi}__ and `functionName` set to `"owner"` */ -export const useWatchTestTracesTestLogIntEvent = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: testTracesTestAbi, - eventName: 'log_int', +export const useReadUpgradeableBeaconOwner = + /*#__PURE__*/ createUseReadContract({ + abi: upgradeableBeaconAbi, + functionName: 'owner', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesTestAbi}__ and `eventName` set to `"log_named_address"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link upgradeableBeaconAbi}__ */ -export const useWatchTestTracesTestLogNamedAddressEvent = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: testTracesTestAbi, - eventName: 'log_named_address', - }) +export const useWriteUpgradeableBeacon = /*#__PURE__*/ createUseWriteContract({ + abi: upgradeableBeaconAbi, +}) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesTestAbi}__ and `eventName` set to `"log_named_array"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link upgradeableBeaconAbi}__ and `functionName` set to `"renounceOwnership"` */ -export const useWatchTestTracesTestLogNamedArrayEvent = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: testTracesTestAbi, - eventName: 'log_named_array', +export const useWriteUpgradeableBeaconRenounceOwnership = + /*#__PURE__*/ createUseWriteContract({ + abi: upgradeableBeaconAbi, + functionName: 'renounceOwnership', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesTestAbi}__ and `eventName` set to `"log_named_bytes"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link upgradeableBeaconAbi}__ and `functionName` set to `"transferOwnership"` */ -export const useWatchTestTracesTestLogNamedBytesEvent = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: testTracesTestAbi, - eventName: 'log_named_bytes', +export const useWriteUpgradeableBeaconTransferOwnership = + /*#__PURE__*/ createUseWriteContract({ + abi: upgradeableBeaconAbi, + functionName: 'transferOwnership', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesTestAbi}__ and `eventName` set to `"log_named_bytes32"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link upgradeableBeaconAbi}__ and `functionName` set to `"upgradeTo"` */ -export const useWatchTestTracesTestLogNamedBytes32Event = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: testTracesTestAbi, - eventName: 'log_named_bytes32', +export const useWriteUpgradeableBeaconUpgradeTo = + /*#__PURE__*/ createUseWriteContract({ + abi: upgradeableBeaconAbi, + functionName: 'upgradeTo', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesTestAbi}__ and `eventName` set to `"log_named_decimal_int"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link upgradeableBeaconAbi}__ */ -export const useWatchTestTracesTestLogNamedDecimalIntEvent = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: testTracesTestAbi, - eventName: 'log_named_decimal_int', - }) +export const useSimulateUpgradeableBeacon = + /*#__PURE__*/ createUseSimulateContract({ abi: upgradeableBeaconAbi }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesTestAbi}__ and `eventName` set to `"log_named_decimal_uint"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link upgradeableBeaconAbi}__ and `functionName` set to `"renounceOwnership"` */ -export const useWatchTestTracesTestLogNamedDecimalUintEvent = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: testTracesTestAbi, - eventName: 'log_named_decimal_uint', +export const useSimulateUpgradeableBeaconRenounceOwnership = + /*#__PURE__*/ createUseSimulateContract({ + abi: upgradeableBeaconAbi, + functionName: 'renounceOwnership', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesTestAbi}__ and `eventName` set to `"log_named_int"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link upgradeableBeaconAbi}__ and `functionName` set to `"transferOwnership"` */ -export const useWatchTestTracesTestLogNamedIntEvent = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: testTracesTestAbi, - eventName: 'log_named_int', +export const useSimulateUpgradeableBeaconTransferOwnership = + /*#__PURE__*/ createUseSimulateContract({ + abi: upgradeableBeaconAbi, + functionName: 'transferOwnership', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesTestAbi}__ and `eventName` set to `"log_named_string"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link upgradeableBeaconAbi}__ and `functionName` set to `"upgradeTo"` */ -export const useWatchTestTracesTestLogNamedStringEvent = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: testTracesTestAbi, - eventName: 'log_named_string', +export const useSimulateUpgradeableBeaconUpgradeTo = + /*#__PURE__*/ createUseSimulateContract({ + abi: upgradeableBeaconAbi, + functionName: 'upgradeTo', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesTestAbi}__ and `eventName` set to `"log_named_uint"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link upgradeableBeaconAbi}__ */ -export const useWatchTestTracesTestLogNamedUintEvent = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: testTracesTestAbi, - eventName: 'log_named_uint', - }) +export const useWatchUpgradeableBeaconEvent = + /*#__PURE__*/ createUseWatchContractEvent({ abi: upgradeableBeaconAbi }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesTestAbi}__ and `eventName` set to `"log_string"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link upgradeableBeaconAbi}__ and `eventName` set to `"OwnershipTransferred"` */ -export const useWatchTestTracesTestLogStringEvent = +export const useWatchUpgradeableBeaconOwnershipTransferredEvent = /*#__PURE__*/ createUseWatchContractEvent({ - abi: testTracesTestAbi, - eventName: 'log_string', + abi: upgradeableBeaconAbi, + eventName: 'OwnershipTransferred', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesTestAbi}__ and `eventName` set to `"log_uint"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link upgradeableBeaconAbi}__ and `eventName` set to `"Upgraded"` */ -export const useWatchTestTracesTestLogUintEvent = +export const useWatchUpgradeableBeaconUpgradedEvent = /*#__PURE__*/ createUseWatchContractEvent({ - abi: testTracesTestAbi, - eventName: 'log_uint', + abi: upgradeableBeaconAbi, + eventName: 'Upgraded', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link testTracesTestAbi}__ and `eventName` set to `"logs"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link vaultAbi}__ + * + * */ -export const useWatchTestTracesTestLogsEvent = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: testTracesTestAbi, - eventName: 'logs', - }) +export const useReadVault = /*#__PURE__*/ createUseReadContract({ + abi: vaultAbi, + address: vaultAddress, +}) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link tokenAbi}__ + * Wraps __{@link useReadContract}__ with `abi` set to __{@link vaultAbi}__ and `functionName` set to `"deposits"` * * */ -export const useReadToken = /*#__PURE__*/ createUseReadContract({ - abi: tokenAbi, - address: tokenAddress, +export const useReadVaultDeposits = /*#__PURE__*/ createUseReadContract({ + abi: vaultAbi, + address: vaultAddress, + functionName: 'deposits', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link tokenAbi}__ and `functionName` set to `"allowance"` + * Wraps __{@link useReadContract}__ with `abi` set to __{@link vaultAbi}__ and `functionName` set to `"token"` * * */ -export const useReadTokenAllowance = /*#__PURE__*/ createUseReadContract({ - abi: tokenAbi, - address: tokenAddress, - functionName: 'allowance', +export const useReadVaultToken = /*#__PURE__*/ createUseReadContract({ + abi: vaultAbi, + address: vaultAddress, + functionName: 'token', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link tokenAbi}__ and `functionName` set to `"balanceOf"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link vaultAbi}__ * * */ -export const useReadTokenBalanceOf = /*#__PURE__*/ createUseReadContract({ - abi: tokenAbi, - address: tokenAddress, - functionName: 'balanceOf', +export const useWriteVault = /*#__PURE__*/ createUseWriteContract({ + abi: vaultAbi, + address: vaultAddress, }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link tokenAbi}__ and `functionName` set to `"decimals"` + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link vaultAbi}__ and `functionName` set to `"deposit"` * * */ -export const useReadTokenDecimals = /*#__PURE__*/ createUseReadContract({ - abi: tokenAbi, - address: tokenAddress, - functionName: 'decimals', +export const useWriteVaultDeposit = /*#__PURE__*/ createUseWriteContract({ + abi: vaultAbi, + address: vaultAddress, + functionName: 'deposit', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link tokenAbi}__ and `functionName` set to `"name"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link vaultAbi}__ * * */ -export const useReadTokenName = /*#__PURE__*/ createUseReadContract({ - abi: tokenAbi, - address: tokenAddress, - functionName: 'name', +export const useSimulateVault = /*#__PURE__*/ createUseSimulateContract({ + abi: vaultAbi, + address: vaultAddress, }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link tokenAbi}__ and `functionName` set to `"symbol"` + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link vaultAbi}__ and `functionName` set to `"deposit"` * * */ -export const useReadTokenSymbol = /*#__PURE__*/ createUseReadContract({ - abi: tokenAbi, - address: tokenAddress, - functionName: 'symbol', +export const useSimulateVaultDeposit = /*#__PURE__*/ createUseSimulateContract({ + abi: vaultAbi, + address: vaultAddress, + functionName: 'deposit', +}) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link vaultAbi}__ + * + * + */ +export const useWatchVaultEvent = /*#__PURE__*/ createUseWatchContractEvent({ + abi: vaultAbi, + address: vaultAddress, +}) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link vaultAbi}__ and `eventName` set to `"Deposited"` + * + * + */ +export const useWatchVaultDepositedEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: vaultAbi, + address: vaultAddress, + eventName: 'Deposited', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link vaultTestAbi}__ + */ +export const useReadVaultTest = /*#__PURE__*/ createUseReadContract({ + abi: vaultTestAbi, +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link vaultTestAbi}__ and `functionName` set to `"IS_TEST"` + */ +export const useReadVaultTestIsTest = /*#__PURE__*/ createUseReadContract({ + abi: vaultTestAbi, + functionName: 'IS_TEST', +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link vaultTestAbi}__ and `functionName` set to `"excludeArtifacts"` + */ +export const useReadVaultTestExcludeArtifacts = + /*#__PURE__*/ createUseReadContract({ + abi: vaultTestAbi, + functionName: 'excludeArtifacts', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link vaultTestAbi}__ and `functionName` set to `"excludeContracts"` + */ +export const useReadVaultTestExcludeContracts = + /*#__PURE__*/ createUseReadContract({ + abi: vaultTestAbi, + functionName: 'excludeContracts', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link vaultTestAbi}__ and `functionName` set to `"excludeSelectors"` + */ +export const useReadVaultTestExcludeSelectors = + /*#__PURE__*/ createUseReadContract({ + abi: vaultTestAbi, + functionName: 'excludeSelectors', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link vaultTestAbi}__ and `functionName` set to `"excludeSenders"` + */ +export const useReadVaultTestExcludeSenders = + /*#__PURE__*/ createUseReadContract({ + abi: vaultTestAbi, + functionName: 'excludeSenders', + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link vaultTestAbi}__ and `functionName` set to `"failed"` + */ +export const useReadVaultTestFailed = /*#__PURE__*/ createUseReadContract({ + abi: vaultTestAbi, + functionName: 'failed', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link tokenAbi}__ and `functionName` set to `"totalSupply"` - * - * + * Wraps __{@link useReadContract}__ with `abi` set to __{@link vaultTestAbi}__ and `functionName` set to `"targetArtifactSelectors"` */ -export const useReadTokenTotalSupply = /*#__PURE__*/ createUseReadContract({ - abi: tokenAbi, - address: tokenAddress, - functionName: 'totalSupply', -}) +export const useReadVaultTestTargetArtifactSelectors = + /*#__PURE__*/ createUseReadContract({ + abi: vaultTestAbi, + functionName: 'targetArtifactSelectors', + }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link tokenAbi}__ - * - * + * Wraps __{@link useReadContract}__ with `abi` set to __{@link vaultTestAbi}__ and `functionName` set to `"targetArtifacts"` */ -export const useWriteToken = /*#__PURE__*/ createUseWriteContract({ - abi: tokenAbi, - address: tokenAddress, -}) +export const useReadVaultTestTargetArtifacts = + /*#__PURE__*/ createUseReadContract({ + abi: vaultTestAbi, + functionName: 'targetArtifacts', + }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link tokenAbi}__ and `functionName` set to `"approve"` - * - * + * Wraps __{@link useReadContract}__ with `abi` set to __{@link vaultTestAbi}__ and `functionName` set to `"targetContracts"` */ -export const useWriteTokenApprove = /*#__PURE__*/ createUseWriteContract({ - abi: tokenAbi, - address: tokenAddress, - functionName: 'approve', -}) +export const useReadVaultTestTargetContracts = + /*#__PURE__*/ createUseReadContract({ + abi: vaultTestAbi, + functionName: 'targetContracts', + }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link tokenAbi}__ and `functionName` set to `"burn"` - * - * + * Wraps __{@link useReadContract}__ with `abi` set to __{@link vaultTestAbi}__ and `functionName` set to `"targetInterfaces"` */ -export const useWriteTokenBurn = /*#__PURE__*/ createUseWriteContract({ - abi: tokenAbi, - address: tokenAddress, - functionName: 'burn', -}) +export const useReadVaultTestTargetInterfaces = + /*#__PURE__*/ createUseReadContract({ + abi: vaultTestAbi, + functionName: 'targetInterfaces', + }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link tokenAbi}__ and `functionName` set to `"mint"` - * - * + * Wraps __{@link useReadContract}__ with `abi` set to __{@link vaultTestAbi}__ and `functionName` set to `"targetSelectors"` */ -export const useWriteTokenMint = /*#__PURE__*/ createUseWriteContract({ - abi: tokenAbi, - address: tokenAddress, - functionName: 'mint', -}) +export const useReadVaultTestTargetSelectors = + /*#__PURE__*/ createUseReadContract({ + abi: vaultTestAbi, + functionName: 'targetSelectors', + }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link tokenAbi}__ and `functionName` set to `"transfer"` - * - * + * Wraps __{@link useReadContract}__ with `abi` set to __{@link vaultTestAbi}__ and `functionName` set to `"targetSenders"` */ -export const useWriteTokenTransfer = /*#__PURE__*/ createUseWriteContract({ - abi: tokenAbi, - address: tokenAddress, - functionName: 'transfer', -}) +export const useReadVaultTestTargetSenders = + /*#__PURE__*/ createUseReadContract({ + abi: vaultTestAbi, + functionName: 'targetSenders', + }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link tokenAbi}__ and `functionName` set to `"transferFrom"` - * - * + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link vaultTestAbi}__ */ -export const useWriteTokenTransferFrom = /*#__PURE__*/ createUseWriteContract({ - abi: tokenAbi, - address: tokenAddress, - functionName: 'transferFrom', +export const useWriteVaultTest = /*#__PURE__*/ createUseWriteContract({ + abi: vaultTestAbi, }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link tokenAbi}__ - * - * + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link vaultTestAbi}__ and `functionName` set to `"setUp"` */ -export const useSimulateToken = /*#__PURE__*/ createUseSimulateContract({ - abi: tokenAbi, - address: tokenAddress, +export const useWriteVaultTestSetUp = /*#__PURE__*/ createUseWriteContract({ + abi: vaultTestAbi, + functionName: 'setUp', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link tokenAbi}__ and `functionName` set to `"approve"` - * - * + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link vaultTestAbi}__ and `functionName` set to `"test_deposit_revertsWithoutApproval"` */ -export const useSimulateTokenApprove = /*#__PURE__*/ createUseSimulateContract({ - abi: tokenAbi, - address: tokenAddress, - functionName: 'approve', -}) +export const useWriteVaultTestTestDepositRevertsWithoutApproval = + /*#__PURE__*/ createUseWriteContract({ + abi: vaultTestAbi, + functionName: 'test_deposit_revertsWithoutApproval', + }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link tokenAbi}__ and `functionName` set to `"burn"` - * - * + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link vaultTestAbi}__ and `functionName` set to `"test_deposit_succeedsAfterApproval"` */ -export const useSimulateTokenBurn = /*#__PURE__*/ createUseSimulateContract({ - abi: tokenAbi, - address: tokenAddress, - functionName: 'burn', -}) +export const useWriteVaultTestTestDepositSucceedsAfterApproval = + /*#__PURE__*/ createUseWriteContract({ + abi: vaultTestAbi, + functionName: 'test_deposit_succeedsAfterApproval', + }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link tokenAbi}__ and `functionName` set to `"mint"` - * - * + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link vaultTestAbi}__ */ -export const useSimulateTokenMint = /*#__PURE__*/ createUseSimulateContract({ - abi: tokenAbi, - address: tokenAddress, - functionName: 'mint', +export const useSimulateVaultTest = /*#__PURE__*/ createUseSimulateContract({ + abi: vaultTestAbi, }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link tokenAbi}__ and `functionName` set to `"transfer"` - * - * + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link vaultTestAbi}__ and `functionName` set to `"setUp"` */ -export const useSimulateTokenTransfer = /*#__PURE__*/ createUseSimulateContract( - { abi: tokenAbi, address: tokenAddress, functionName: 'transfer' }, -) +export const useSimulateVaultTestSetUp = + /*#__PURE__*/ createUseSimulateContract({ + abi: vaultTestAbi, + functionName: 'setUp', + }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link tokenAbi}__ and `functionName` set to `"transferFrom"` - * - * + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link vaultTestAbi}__ and `functionName` set to `"test_deposit_revertsWithoutApproval"` */ -export const useSimulateTokenTransferFrom = +export const useSimulateVaultTestTestDepositRevertsWithoutApproval = /*#__PURE__*/ createUseSimulateContract({ - abi: tokenAbi, - address: tokenAddress, - functionName: 'transferFrom', + abi: vaultTestAbi, + functionName: 'test_deposit_revertsWithoutApproval', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link tokenAbi}__ - * - * + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link vaultTestAbi}__ and `functionName` set to `"test_deposit_succeedsAfterApproval"` */ -export const useWatchTokenEvent = /*#__PURE__*/ createUseWatchContractEvent({ - abi: tokenAbi, - address: tokenAddress, -}) +export const useSimulateVaultTestTestDepositSucceedsAfterApproval = + /*#__PURE__*/ createUseSimulateContract({ + abi: vaultTestAbi, + functionName: 'test_deposit_succeedsAfterApproval', + }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link tokenAbi}__ and `eventName` set to `"Approval"` - * - * + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link vaultTestAbi}__ */ -export const useWatchTokenApprovalEvent = - /*#__PURE__*/ createUseWatchContractEvent({ - abi: tokenAbi, - address: tokenAddress, - eventName: 'Approval', - }) +export const useWatchVaultTestEvent = /*#__PURE__*/ createUseWatchContractEvent( + { abi: vaultTestAbi }, +) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link tokenAbi}__ and `eventName` set to `"Transfer"` - * - * + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link vaultTestAbi}__ and `eventName` set to `"log"` */ -export const useWatchTokenTransferEvent = +export const useWatchVaultTestLogEvent = /*#__PURE__*/ createUseWatchContractEvent({ - abi: tokenAbi, - address: tokenAddress, - eventName: 'Transfer', + abi: vaultTestAbi, + eventName: 'log', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link transparentUpgradeableProxyAbi}__ + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link vaultTestAbi}__ and `eventName` set to `"log_address"` */ -export const useWatchTransparentUpgradeableProxyEvent = +export const useWatchVaultTestLogAddressEvent = /*#__PURE__*/ createUseWatchContractEvent({ - abi: transparentUpgradeableProxyAbi, + abi: vaultTestAbi, + eventName: 'log_address', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link transparentUpgradeableProxyAbi}__ and `eventName` set to `"AdminChanged"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link vaultTestAbi}__ and `eventName` set to `"log_array"` */ -export const useWatchTransparentUpgradeableProxyAdminChangedEvent = +export const useWatchVaultTestLogArrayEvent = /*#__PURE__*/ createUseWatchContractEvent({ - abi: transparentUpgradeableProxyAbi, - eventName: 'AdminChanged', + abi: vaultTestAbi, + eventName: 'log_array', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link transparentUpgradeableProxyAbi}__ and `eventName` set to `"Upgraded"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link vaultTestAbi}__ and `eventName` set to `"log_bytes"` */ -export const useWatchTransparentUpgradeableProxyUpgradedEvent = +export const useWatchVaultTestLogBytesEvent = /*#__PURE__*/ createUseWatchContractEvent({ - abi: transparentUpgradeableProxyAbi, - eventName: 'Upgraded', + abi: vaultTestAbi, + eventName: 'log_bytes', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link upgradeableBeaconAbi}__ + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link vaultTestAbi}__ and `eventName` set to `"log_bytes32"` */ -export const useReadUpgradeableBeacon = /*#__PURE__*/ createUseReadContract({ - abi: upgradeableBeaconAbi, -}) +export const useWatchVaultTestLogBytes32Event = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: vaultTestAbi, + eventName: 'log_bytes32', + }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link upgradeableBeaconAbi}__ and `functionName` set to `"implementation"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link vaultTestAbi}__ and `eventName` set to `"log_int"` */ -export const useReadUpgradeableBeaconImplementation = - /*#__PURE__*/ createUseReadContract({ - abi: upgradeableBeaconAbi, - functionName: 'implementation', +export const useWatchVaultTestLogIntEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: vaultTestAbi, + eventName: 'log_int', }) /** - * Wraps __{@link useReadContract}__ with `abi` set to __{@link upgradeableBeaconAbi}__ and `functionName` set to `"owner"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link vaultTestAbi}__ and `eventName` set to `"log_named_address"` */ -export const useReadUpgradeableBeaconOwner = - /*#__PURE__*/ createUseReadContract({ - abi: upgradeableBeaconAbi, - functionName: 'owner', +export const useWatchVaultTestLogNamedAddressEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: vaultTestAbi, + eventName: 'log_named_address', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link upgradeableBeaconAbi}__ + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link vaultTestAbi}__ and `eventName` set to `"log_named_array"` */ -export const useWriteUpgradeableBeacon = /*#__PURE__*/ createUseWriteContract({ - abi: upgradeableBeaconAbi, -}) +export const useWatchVaultTestLogNamedArrayEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: vaultTestAbi, + eventName: 'log_named_array', + }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link upgradeableBeaconAbi}__ and `functionName` set to `"renounceOwnership"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link vaultTestAbi}__ and `eventName` set to `"log_named_bytes"` */ -export const useWriteUpgradeableBeaconRenounceOwnership = - /*#__PURE__*/ createUseWriteContract({ - abi: upgradeableBeaconAbi, - functionName: 'renounceOwnership', +export const useWatchVaultTestLogNamedBytesEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: vaultTestAbi, + eventName: 'log_named_bytes', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link upgradeableBeaconAbi}__ and `functionName` set to `"transferOwnership"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link vaultTestAbi}__ and `eventName` set to `"log_named_bytes32"` */ -export const useWriteUpgradeableBeaconTransferOwnership = - /*#__PURE__*/ createUseWriteContract({ - abi: upgradeableBeaconAbi, - functionName: 'transferOwnership', +export const useWatchVaultTestLogNamedBytes32Event = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: vaultTestAbi, + eventName: 'log_named_bytes32', }) /** - * Wraps __{@link useWriteContract}__ with `abi` set to __{@link upgradeableBeaconAbi}__ and `functionName` set to `"upgradeTo"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link vaultTestAbi}__ and `eventName` set to `"log_named_decimal_int"` */ -export const useWriteUpgradeableBeaconUpgradeTo = - /*#__PURE__*/ createUseWriteContract({ - abi: upgradeableBeaconAbi, - functionName: 'upgradeTo', +export const useWatchVaultTestLogNamedDecimalIntEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: vaultTestAbi, + eventName: 'log_named_decimal_int', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link upgradeableBeaconAbi}__ + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link vaultTestAbi}__ and `eventName` set to `"log_named_decimal_uint"` */ -export const useSimulateUpgradeableBeacon = - /*#__PURE__*/ createUseSimulateContract({ abi: upgradeableBeaconAbi }) +export const useWatchVaultTestLogNamedDecimalUintEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: vaultTestAbi, + eventName: 'log_named_decimal_uint', + }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link upgradeableBeaconAbi}__ and `functionName` set to `"renounceOwnership"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link vaultTestAbi}__ and `eventName` set to `"log_named_int"` */ -export const useSimulateUpgradeableBeaconRenounceOwnership = - /*#__PURE__*/ createUseSimulateContract({ - abi: upgradeableBeaconAbi, - functionName: 'renounceOwnership', +export const useWatchVaultTestLogNamedIntEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: vaultTestAbi, + eventName: 'log_named_int', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link upgradeableBeaconAbi}__ and `functionName` set to `"transferOwnership"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link vaultTestAbi}__ and `eventName` set to `"log_named_string"` */ -export const useSimulateUpgradeableBeaconTransferOwnership = - /*#__PURE__*/ createUseSimulateContract({ - abi: upgradeableBeaconAbi, - functionName: 'transferOwnership', +export const useWatchVaultTestLogNamedStringEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: vaultTestAbi, + eventName: 'log_named_string', }) /** - * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link upgradeableBeaconAbi}__ and `functionName` set to `"upgradeTo"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link vaultTestAbi}__ and `eventName` set to `"log_named_uint"` */ -export const useSimulateUpgradeableBeaconUpgradeTo = - /*#__PURE__*/ createUseSimulateContract({ - abi: upgradeableBeaconAbi, - functionName: 'upgradeTo', +export const useWatchVaultTestLogNamedUintEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: vaultTestAbi, + eventName: 'log_named_uint', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link upgradeableBeaconAbi}__ + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link vaultTestAbi}__ and `eventName` set to `"log_string"` */ -export const useWatchUpgradeableBeaconEvent = - /*#__PURE__*/ createUseWatchContractEvent({ abi: upgradeableBeaconAbi }) +export const useWatchVaultTestLogStringEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: vaultTestAbi, + eventName: 'log_string', + }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link upgradeableBeaconAbi}__ and `eventName` set to `"OwnershipTransferred"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link vaultTestAbi}__ and `eventName` set to `"log_uint"` */ -export const useWatchUpgradeableBeaconOwnershipTransferredEvent = +export const useWatchVaultTestLogUintEvent = /*#__PURE__*/ createUseWatchContractEvent({ - abi: upgradeableBeaconAbi, - eventName: 'OwnershipTransferred', + abi: vaultTestAbi, + eventName: 'log_uint', }) /** - * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link upgradeableBeaconAbi}__ and `eventName` set to `"Upgraded"` + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link vaultTestAbi}__ and `eventName` set to `"logs"` */ -export const useWatchUpgradeableBeaconUpgradedEvent = +export const useWatchVaultTestLogsEvent = /*#__PURE__*/ createUseWatchContractEvent({ - abi: upgradeableBeaconAbi, - eventName: 'Upgraded', + abi: vaultTestAbi, + eventName: 'logs', }) diff --git a/wagmi.config.ts b/wagmi.config.ts index c49c86f..cc197a8 100644 --- a/wagmi.config.ts +++ b/wagmi.config.ts @@ -19,6 +19,22 @@ const config: ReturnType = defineConfig({ 31337: "0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0", 31338: "0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0", }, + OwnedRegistry: { + 31337: "0x3347B4d90ebe72BeFb30444C9966B2B990aE9FcB", + 31338: "0x3347B4d90ebe72BeFb30444C9966B2B990aE9FcB", + }, + SixDecimalToken: { + 31337: "0xaca81583840B1bf2dDF6CDe824ada250C1936B4D", + 31338: "0xaca81583840B1bf2dDF6CDe824ada250C1936B4D", + }, + DepositToken: { + 31337: "0x2BB8B93F585B43b06F3d523bf30C203d3B6d4BD4", + 31338: "0x2BB8B93F585B43b06F3d523bf30C203d3B6d4BD4", + }, + Vault: { + 31337: "0x2d13826359803522cCe7a4Cfa2c1b582303DD0B4", + 31338: "0x2d13826359803522cCe7a4Cfa2c1b582303DD0B4", + }, }, }), react(),