();
const { connect, isConnecting } = useConnectUI();
@@ -24,38 +24,37 @@ export default function Home() {
});
useEffect(() => {
- async function getInitialCount(){
- if(isConnected && wallet){
- const counterContract = CounterContractAbi__factory.connect(CONTRACT_ID, wallet);
+ async function getInitialCount() {
+ if (isConnected && wallet) {
+ const counterContract = CounterContractAbi__factory.connect(
+ CONTRACT_ID,
+ wallet
+ );
await getCount(counterContract);
setContract(counterContract);
}
}
-
+
getInitialCount();
}, [isConnected, wallet]);
const getCount = async (counterContract: CounterContractAbi) => {
- try{
- const { value } = await counterContract.functions
- .count()
- .get();
+ try {
+ const { value } = await counterContract.functions.count().get();
setCounter(value.toNumber());
- } catch(error) {
+ } catch (error) {
console.error(error);
}
- }
+ };
const onIncrementPressed = async () => {
if (!contract) {
return alert("Contract not loaded");
}
try {
- await contract.functions
- .increment()
- .call();
+ await contract.functions.increment().call();
await getCount(contract);
- } catch(error) {
+ } catch (error) {
console.error(error);
}
};
@@ -66,34 +65,37 @@ export default function Home() {
{isConnected ? (
<>
Counter
-
- {counter ?? 0}
-
+ {counter ?? 0}
{balance && balance.toNumber() === 0 ? (
- Get testnet funds from the Fuel Faucet to increment the counter.
- ) :
- (
-
- )
- }
-
- Your Fuel Wallet address is:
- {wallet?.address.toAddress()}
+
+ Get testnet funds from the{" "}
+
+ Fuel Faucet
+ {" "}
+ to increment the counter.
+
+ ) : (
+
+ )}
+
+ Your Fuel Wallet address is:
+ {wallet?.address.toAddress()}
>
) : (
)}
@@ -103,10 +105,10 @@ export default function Home() {
const styles = {
root: {
- display: 'grid',
- placeItems: 'center',
- height: '100vh',
- width: '100vw',
+ display: "grid",
+ placeItems: "center",
+ height: "100vh",
+ width: "100vw",
backgroundColor: "black",
} as React.CSSProperties,
container: {
@@ -132,6 +134,6 @@ const styles = {
outline: "none",
height: "60px",
padding: "0 1rem",
- cursor: "pointer"
+ cursor: "pointer",
},
-}
\ No newline at end of file
+};
diff --git a/docs/guides/examples/counter-dapp/frontend/src/assets/react.svg b/docs/guides/examples/counter-dapp/frontend/src/assets/react.svg
new file mode 100644
index 000000000..6c87de9bb
--- /dev/null
+++ b/docs/guides/examples/counter-dapp/frontend/src/assets/react.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/docs/guides/examples/counter-dapp/frontend/src/index.css b/docs/guides/examples/counter-dapp/frontend/src/index.css
index ec2585e8c..6119ad9a8 100644
--- a/docs/guides/examples/counter-dapp/frontend/src/index.css
+++ b/docs/guides/examples/counter-dapp/frontend/src/index.css
@@ -1,13 +1,68 @@
-body {
- margin: 0;
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
- 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
- sans-serif;
+:root {
+ font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
+ line-height: 1.5;
+ font-weight: 400;
+
+ color-scheme: light dark;
+ color: rgba(255, 255, 255, 0.87);
+ background-color: #242424;
+
+ font-synthesis: none;
+ text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
-code {
- font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
- monospace;
+a {
+ font-weight: 500;
+ color: #646cff;
+ text-decoration: inherit;
+}
+a:hover {
+ color: #535bf2;
+}
+
+body {
+ margin: 0;
+ display: flex;
+ place-items: center;
+ min-width: 320px;
+ min-height: 100vh;
+}
+
+h1 {
+ font-size: 3.2em;
+ line-height: 1.1;
+}
+
+button {
+ border-radius: 8px;
+ border: 1px solid transparent;
+ padding: 0.6em 1.2em;
+ font-size: 1em;
+ font-weight: 500;
+ font-family: inherit;
+ background-color: #1a1a1a;
+ cursor: pointer;
+ transition: border-color 0.25s;
+}
+button:hover {
+ border-color: #646cff;
+}
+button:focus,
+button:focus-visible {
+ outline: 4px auto -webkit-focus-ring-color;
+}
+
+@media (prefers-color-scheme: light) {
+ :root {
+ color: #213547;
+ background-color: #ffffff;
+ }
+ a:hover {
+ color: #747bff;
+ }
+ button {
+ background-color: #f9f9f9;
+ }
}
diff --git a/docs/guides/examples/counter-dapp/frontend/src/index.tsx b/docs/guides/examples/counter-dapp/frontend/src/index.tsx
deleted file mode 100644
index 8814d8209..000000000
--- a/docs/guides/examples/counter-dapp/frontend/src/index.tsx
+++ /dev/null
@@ -1,34 +0,0 @@
-import React from 'react';
-import ReactDOM from 'react-dom/client';
-import './index.css';
-import App from './App';
-import reportWebVitals from './reportWebVitals';
-import { FuelProvider } from '@fuels/react';
-import {
- defaultConnectors,
-} from '@fuels/connectors';
-import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
-
-const queryClient = new QueryClient();
-
-const root = ReactDOM.createRoot(
- document.getElementById('root') as HTMLElement
-);
-root.render(
-
-
-
-
-
-
-
-);
-
-// If you want to start measuring performance in your app, pass a function
-// to log results (for example: reportWebVitals(console.log))
-// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
-reportWebVitals();
diff --git a/docs/guides/examples/counter-dapp/frontend/src/logo.svg b/docs/guides/examples/counter-dapp/frontend/src/logo.svg
deleted file mode 100644
index 9dfc1c058..000000000
--- a/docs/guides/examples/counter-dapp/frontend/src/logo.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/docs/guides/examples/counter-dapp/frontend/src/main.tsx b/docs/guides/examples/counter-dapp/frontend/src/main.tsx
new file mode 100644
index 000000000..adb3a774c
--- /dev/null
+++ b/docs/guides/examples/counter-dapp/frontend/src/main.tsx
@@ -0,0 +1,23 @@
+import { StrictMode } from 'react'
+import { createRoot } from 'react-dom/client'
+import App from './App.tsx'
+import './index.css'
+import { FuelProvider } from "@fuels/react";
+import { defaultConnectors } from "@fuels/connectors";
+import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
+
+const queryClient = new QueryClient();
+
+createRoot(document.getElementById("root")!).render(
+
+
+
+
+
+
+
+);
\ No newline at end of file
diff --git a/docs/guides/examples/counter-dapp/frontend/src/react-app-env.d.ts b/docs/guides/examples/counter-dapp/frontend/src/react-app-env.d.ts
deleted file mode 100644
index 6431bc5fc..000000000
--- a/docs/guides/examples/counter-dapp/frontend/src/react-app-env.d.ts
+++ /dev/null
@@ -1 +0,0 @@
-///
diff --git a/docs/guides/examples/counter-dapp/frontend/src/reportWebVitals.ts b/docs/guides/examples/counter-dapp/frontend/src/reportWebVitals.ts
deleted file mode 100644
index 49a2a16e0..000000000
--- a/docs/guides/examples/counter-dapp/frontend/src/reportWebVitals.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import { ReportHandler } from 'web-vitals';
-
-const reportWebVitals = (onPerfEntry?: ReportHandler) => {
- if (onPerfEntry && onPerfEntry instanceof Function) {
- import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
- getCLS(onPerfEntry);
- getFID(onPerfEntry);
- getFCP(onPerfEntry);
- getLCP(onPerfEntry);
- getTTFB(onPerfEntry);
- });
- }
-};
-
-export default reportWebVitals;
diff --git a/docs/guides/examples/counter-dapp/frontend/src/setupTests.ts b/docs/guides/examples/counter-dapp/frontend/src/setupTests.ts
deleted file mode 100644
index 8f2609b7b..000000000
--- a/docs/guides/examples/counter-dapp/frontend/src/setupTests.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-// jest-dom adds custom jest matchers for asserting on DOM nodes.
-// allows you to do things like:
-// expect(element).toHaveTextContent(/react/i)
-// learn more: https://github.com/testing-library/jest-dom
-import '@testing-library/jest-dom';
diff --git a/docs/guides/examples/counter-dapp/frontend/src/sway-api/contracts/CounterContractAbi.d.ts b/docs/guides/examples/counter-dapp/frontend/src/sway-api/contracts/CounterContractAbi.d.ts
index 923c59a66..bd8d0e539 100644
--- a/docs/guides/examples/counter-dapp/frontend/src/sway-api/contracts/CounterContractAbi.d.ts
+++ b/docs/guides/examples/counter-dapp/frontend/src/sway-api/contracts/CounterContractAbi.d.ts
@@ -4,9 +4,9 @@
/* eslint-disable */
/*
- Fuels version: 0.85.0
- Forc version: 0.56.1
- Fuel-Core version: 0.26.0
+ Fuels version: 0.93.0
+ Forc version: 0.62.0
+ Fuel-Core version: 0.31.0
*/
import type {
@@ -20,17 +20,11 @@ import type {
InvokeFunction,
} from 'fuels';
-interface CounterContractAbiInterface extends Interface {
+export interface CounterContractAbiInterface extends Interface {
functions: {
count: FunctionFragment;
increment: FunctionFragment;
};
-
- encodeFunctionData(functionFragment: 'count', values: []): Uint8Array;
- encodeFunctionData(functionFragment: 'increment', values: []): Uint8Array;
-
- decodeFunctionData(functionFragment: 'count', data: BytesLike): DecodedValue;
- decodeFunctionData(functionFragment: 'increment', data: BytesLike): DecodedValue;
}
export class CounterContractAbi extends Contract {
diff --git a/docs/guides/examples/counter-dapp/frontend/src/sway-api/contracts/CounterContractAbi.hex.ts b/docs/guides/examples/counter-dapp/frontend/src/sway-api/contracts/CounterContractAbi.hex.ts
index ee670f298..baf4bc7d8 100644
--- a/docs/guides/examples/counter-dapp/frontend/src/sway-api/contracts/CounterContractAbi.hex.ts
+++ b/docs/guides/examples/counter-dapp/frontend/src/sway-api/contracts/CounterContractAbi.hex.ts
@@ -4,9 +4,9 @@
/* eslint-disable */
/*
- Fuels version: 0.85.0
- Forc version: 0.56.1
- Fuel-Core version: 0.26.0
+ Fuels version: 0.93.0
+ Forc version: 0.62.0
+ Fuel-Core version: 0.31.0
*/
-export default '0x1af030007400000200000000000010d05dffc00110ffff00740000001aec500091000e585d43f0075fed00001a4060005fed01bb5d43b1bb5d47b0005d4bf0081b452440104104405fed01be5d43b1be760000075d47f00813451040764400025d410000740000015c410000740000005fed01bf5d43b1bf5047b0185fed00035fec00045043b5c872480010284114805047bba87248001028450480504fbba85d43b0b95d47b0ba1b441440104104405fed01bc5d43f0085fed01c25d43b1765d47b1c2104104405fed0194760000155d43b1c213410040764000095d43b1bc5d4100005fed01ca5043bca05045300872480008284504805d43b1ca740000085d43b1bc5c4100005fed01c95043bca05045300872480008284504805d43b1c9740000075d43b1bc5fed01c85043bca05045300872480008284504805d43b1c85fed01915053bc885d43b1915d453001104114005fed01955d4130005d4530011b441440104104405fed01bd5043bde85047b03872480008284504805041100872480008284144805043be3072480010284114805043bca85045300872480008284504805043be305047b5d872480010284504805043b33872480010284114805047b5e872480010284504805d43b0bd5047bc88504bb0285fed000550412008724c0008284114c05043b6c872440010284124405047b7e872480010284504805d43f012104100c0504bbc90724c0010284914c0504bb0085fed00015d43f0095fed00025043b200724c0010284124c0504bb548724c0010284914c05047b558724c0010284504c01ae920001ae5100020f8330058fbe00250fbe004740002f31a43d000764000017400011a5d43f013104100c05d47f014104510c0504bb140724c0020284904c05fec002c50412028724c0020284114c05043b89872440020284124405d47b02c5d4bf00813492000764800aa5d4bf0085fed21c35d4bf0081b4914805d4fb1c3104924c05d4ff00a104924c05d4ff0091f4924c05fed218e5d4bf00b194514805fed11b65047b4505e4400005047b4505c4510005c4bf06013451480764400075047b4505c451000134510001a4810007644000b5d43f00d364000005d47b1b65d4bf0081b4514805d4bb1c3104514805d4bf00a104514805d4bf0091f4914805fed21975047b34872480020284504805043b8b872480020284114805047bd0072480020284504805043bd005d47b18e504bb4881ae910001ae5200020f8330058fbe00250fbe004740003371a47d0005d4bb197504fb4a81ae920001ae5300020f8330058fbe00250fbe0047400032e1a4bd000504fb96872500020284d15005047bae87250002028452500504bba28a34934615047b8d8724c0020284524c0504bb988724c0020284904c05043bb08724c0020284114c05047ba48a34524205043b8f872480020284114805047bd0072480020284504805047b36872480020284504805043b91872480020284114805047bcb8504bbdb0504fb04872500020284d05005041302072500008284115005041302872440008284124405043b93872440030284134405043bce05047b93872480020284114805043bcb05047b9385045102072480008284114805043bda85047b9385045102872480008284114805d43b12b5d47f00e1b4104405d47f0081b411400264000001a4070005fed01c05043bce05d47b1c05d4bb196504fbbf072500020284d0500394504d2764000065043b2f05fec005e504bb5f87244001028490440740000135043b2105fec10425d47b1c05d4bb1b55d4ff0081b49348010451480760000075d4bf00813492040764800025d451000740000015c451000740000005f411001504bb5f872440010284904405047b6087240001028452400740000055043b0a85fec00155047b60872480010284504805043b46872480010284114805d43b0c11341004076400001360000005d43b08e5d47f00f264400001a447000504bb1885fed10315d47f00f5fed10325fec00335047b258724c0018284524c0504bb618724c0018284914c05047b388724c0018284524c0504bb0b8724c0018284914c05d47b017504920085d4fb019105114c05f5100005d43f00810413400504fb2205fed10445045300872500008284525005fed00465043b30072440018284134405047b63072480018284504805043bbb872480018284114805043bbb85047b3a072480018284504805043b0f872480018284114805d47b01f50410010504bb2705fed104e50452008724c0008284504c05043b64872440010284124405047b65872480010284504805043b58872480010284114801ae9000020f8330058fbe00250fbe0047400024b1a43d000504bb5a8724c0010284914c01ae9200020f8330058fbe00250fbe004740002551a47d000254110005d43f015104100c05047bc90504bb2e05fed005c5d43f0105fed005d5043b328724c0010284124c0504bb568724c0010284914c05047b578724c0010284504c01ae920001ae5100020f8330058fbe00250fbe004740001c01a43d00076400001740001bb5d43f016104100c05d47f017104510c0504bb1a0724c0020284904c05fec003850412028724c0020284114c05043b66872440020284124405d47b0385d4bf00813492000764800aa5d4bf0085fed21c45d4bf0081b4914805d4fb1c4104924c05d4ff00a104924c05d4ff0091f4924c05fed218f5d4bf00b194514805fed11b75047b4585e4400005047b4585c4510005c4bf06013451480764400075047b4585c451000134510001a4810007644000b5d43f00d364000005d47b1b75d4bf0081b4514805d4bb1c4104514805d4bf00a104514805d4bf0091f4914805fed21985047b3b872480020284504805043b68872480020284114805047bd2072480020284504805043bd205d47b18f504bb4c81ae910001ae5200020f8330058fbe00250fbe004740002041a47d0005d4bb198504fb4e81ae920001ae5300020f8330058fbe00250fbe004740001fb1a4bd000504fb9a872500020284d15005047bb287250002028452500504bba68a34934615047b6a8724c0020284524c0504bb9c8724c0020284904c05043bb48724c0020284114c05047ba88a34524205043b6d872480020284114805047bd2072480020284504805047b3d872480020284504805043b6f872480020284114805047bcc0504bbdb8504fb07872500020284d05005041302072500008284115005041302872440008284124405043b71872440030284134405043bd605047b71872480020284114805043bcd05047b7185045102072480008284114805043bdc85047b7185045102872480008284114805d43b0e75d47f00e1b4104405d47f0081b411400264000001a4070005fed01c15043bd605d47b1c15d4bb19a504fbc1072500020284d0500394504d2764000065043b3185fec0063504bb7487244001028490440740000135043b2385fec10475d47b1c15d4bb1b95d4ff0081b49348010451480760000075d4bf00813492040764800025d451000740000015c451000740000005f411001504bb74872440010284904405047b7587240001028452400740000055043b0d05fec001a5047b75872480010284504805043b47872480010284114805d43b0eb1341004076400001360000005d43b090104100405d47f018104510c05d4bf019104920c05fed017d5043b280724c0020284114c05fec005450450028724c0020284524c05d53b17d5047b76872480020284504805d43b0545d4bf00813492000764800a25d4bf0085fed21c55d4bf0081b4904805d4fb1c5104924c05d4ff00a104924c05d4ff0091f4924c05fed21905d4bf00b194104805fed01b85043b4605e4000005043b4605c4100005c4bf06013410480764000075043b4605c410000134100001a4810007640000b5d43f00d364000005d43b1b85d4bf0081b4104805d4bb1c5104104805d4bf00a104104805d4bf0091f4904805fed21995043b3f872480020284114805047b78872480020284504805043bd4072480020284114805043bd405d47b190504bb5081ae910001ae5200020f8330058fbe00250fbe004740001381a47d0005d4bb199504fb5281ae920001ae5300020f8330058fbe00250fbe0047400012f1a4bd000504fb9e872540020284d15405047bb687254002028452540504bbaa8a34934615047b7a8724c0020284524c0504bba08724c0020284904c05043bb88724c0020284114c05047bac8a34524205043b7c872480020284114805047bd4072480020284504805047b41872480020284504805043b7f872480020284114805047bcc8504bbdc0504fb11072540020284d05405041302072540008284115405041302872440008284124405043b81872440030284134405043bd805047b81872480020284114805043bcd85047b8185045102072480008284114805043bdd05047b8185045102872480008284114805d43b1075d47f00e1b4104405d47f0081b411400264000001a4070005fed01b45043bd805d47b1b45d4bb19b504fbc3072540020284d0540394504d25d43b1b45d47b1ba5d4bf0081b45244010410440760000075d47f00813451040764400025f414000740000015e414000740000025d47f008284144405043bd805d47b1b45d4bb19b504fbc5072500020284d05003b4d04525d43f00f264000001a4070005047b1e85fed003d5d43f00f5fed003e5fec003f5043b2c872480018284114805047b84872480018284504805043b86072480018284114805047bbd072480018284504805043bbd05047b43872480018284504805043b0e072480018284114805d47b01c50410010504bb2485fed104950452008724c0008284504c05043b87872440010284124405047b88872480010284504805043b59872480010284114801ae9000020f8330058fbe00250fbe004740000771a43d000504bb5b8724c0010284914c01ae9200020f8330058fbe00250fbe004740000811a47d000254110005d43f011364000009500003f960800001aec5000910000681a43a0001a4790001a4be000724c001028ed04c01aebb00020f8330058fbe00250fbe004740000361a4fd0005053b01072540010285115401ae9400020f8330058fbe00250fbe0047400002d1a53d000134d3500134d30001a500000764c0022504fb03072500010284d05001ae9300020f8330058fbe00250fbe004740000331a4fd0005fed300c504fb04072500010284d15001ae9300020f8330058fbe00250fbe004740000291a47d0005fed100b5047b020724c0010284504c01ae9100020f8330058fbe00250fbe0047400000c1a43d0005fed000a5d43b00c5d47b00b5d4fb00a295104531af54000920000681af92000980800009700003f4af800009500000f960800001aec5000910000201a43a0001a47e0007248001028ed04801a43b000504bb010724c0010284904c05d43b0031af50000920000201af91000980800009700000f4af800009500000f960800001aec5000910000201a43a0001a47e0007248001028ed04801a43b000504bb010724c0010284904c05d43b0021af50000920000201af91000980800009700000f4af800009500000f960800001aec5000910000201a43a0001a47e0007248001028ed04801a43b000504bb010724c0010284904c05d43b0021af50000920000201af91000980800009700000f4af800009500000f960800001aec5000910000201a43a0001a47e0007248001028ed04801a43b000504bb010724c0010284904c05d43b003124100401af50000920000201af91000980800009700000f4af800009500000f960800001aec5000910000401a43a0001a4790001a4be0005fec00005fec00015fec00025fed00035043b020724c00202843b4c05043b020724c0020284504c01af51000920000401af92000980800009700000f4af8000047000000636f756e74000000f383b0ce51358be57daa3b725fe44acdb2d880604e367199080b4379c41bb6ed696e6372656d656e7400000000000000000000000000004900000000000000080000000000000005000000000000001f00000000000000040100000000000000cccccccccccc0002000000000000002000000000000004000000000000000009000000000000007b0000000000000ecc0000000000000e680000000000000e600000000000000a20000000000000099c00000000000009940000000000000674000000000000066c'
\ No newline at end of file
+export default '0x1af03000740000020000000000000dd05dffc00110ffff00740000001aec5000910004e07240004a5fed00011a4060005fed00935d47b0935d43b001724800081b412400104114005fed00955d43b0951ae9000020f8330058fbe00250fbe004740001321a43d0005fed00975d43b0975047b0205fed00045043b38072480008284114805047b4207248000828450480724000495fed00001a4060005fed00945d43b0945d47b000724800081b452440104104405fed00965d43b0961ae9000020f8330058fbe00250fbe004740001171a43d0005fed00985d43b0985047b0605fed000c5043b38872480008284114805047b45872480008284504805043b4585d47b08b5d4510005fed109b5d47b08b724800081b481480104514805fed108b5d47b09b5fed10925047b4905d4bb092504fb03872500008284d05005041300872500008284115005043b4c872440010284134405d43b08b1b441480104104405fed008b5043b4c85047b39072480010284504805043b47872480010284114805043b4785047b24872480010284504801ae9100020f8330058fbe00250fbe004740000f41a43d0005047b490504bb0285fed000550412008724c0008284114c05043b3a072440010284124405047b3b072480010284504805d43f008104100c0504bb428724c0010284914c05047b428504bb0105fed0002724000055fed0003504fb13872400010284d2400504bb26872400010284914005043b27872440010284134401ae920001ae5000020f8330058fbe00250fbe004740000e31a43d000764000017400006f5d43f009104100c05d47f00a104510c0504bb080724c0020284904c05fec001450412028724c0020284114c05043b2a872440048284124401ae9000020f8330058fbe00250fbe004740001401a43d0005fed00875043b43872440400264400001a447000504bb0c85fed1019724404005fed101a5fec001b5047b148724c0018284524c0504bb3c0724c0018284914c05047b208724c0018284524c0504bb048724c0018284914c05d47b009504920085d4fb00b105114c072540008285105407240000810413400504fb1605fed102c5045300872500008284525005fed002e5043b1e072440018284134405047b3d872480018284504805043b46072480018284114805043b4605047b22072480018284504805043b06872480018284114805d47b00d50410010504bb1785fed102f50452008724c0008284504c05043b3f072440010284124405047b40072480010284504805043b44072480010284114805043b4405047b25872480010284504801ae9100020f8330058fbe00250fbe0047400006a1a43d0005047b440504bb238724c0010284914c05047b410724c0010284524c0504bb0e0724c0010284914c05d47b01d12451040254110005d43f00b104100c05047b428504bb1d05fed003a724000095fed003b5043b1f8724c0010284124c0504bb288724c0010284914c05047b298724c0010284504c01ae920001ae5100020f8330058fbe00250fbe0047400005b1a43d000764000017400002f5d43f00c104100c05d47f00d104510c0504bb0f0724c0020284904c05fec002250412028724c0020284114c05043b2f072440048284124401ae9000020f8330058fbe00250fbe004740000b81a43d000104100405d47f00e104510c05d4bf00f104920c05fed00915043b188724c0020284114c05fec003550450028724c0020284524c05d47b091504bb338724c0048284904c01ae920001ae5100020f8330058fbe00250fbe004740001c55043b4505e4000001a400000254000007240007b3640000095000007960800001aec50001a43a0001a47e000760000077248000813492040764800025d410000740000015c410000740000001af500001af9100098080000970000074af800009500000f960800001aec5000910000301a43a0001a47e000504bb010724c0010284904c05043b020724c0010284124c07248001028ed04805d43b0041af50000920000301af91000980800009700000f4af800009500003f960800001aec5000910000681a43a0001a4790001a4be000724c001028ed04c01aebb00020f8330058fbe00250fbe004740000361a4fd0005053b01072540010285115401ae9400020f8330058fbe00250fbe0047400002d1a53d000134d3500134d30001a500000764c0022504fb03072500010284d05001ae9300020f8330058fbe00250fbe004740000381a4fd0005fed300c504fb04072500010284d15001ae9300020f8330058fbe00250fbe0047400002e1a47d0005fed100b5047b020724c0010284504c01ae9100020f8330058fbe00250fbe0047400000c1a43d0005fed000a5d43b00c5d47b00b5d4fb00a295104531af54000920000681af92000980800009700003f4af800009500000f960800001aec5000910000281a43a0001a47e0007248001028ed04801a43b000504bb010724c0010284904c05043b01050410008504bb020724c0008284904c05d43b0031af50000920000281af91000980800009700000f4af800009500000f960800001aec5000910000281a43a0001a47e0007248001028ed04801a43b000504bb010724c0010284904c05043b010504bb020724c0008284904c05d43b0021af50000920000281af91000980800009700000f4af800009500003f960800001aec5000910001f01a43a0001a53e0005047b0b07248004828450480504bb0701ae910001ae5200020f8330058fbe00250fbe004740000fd1a47d000504bb0f8724c0048284904c01ae9200020f8330058fbe00250fbe004740001011a43d000724800081349200076480048504bb090724c0020284914c05047b0401ae920001ae500001ae1100020f8330058fbe00250fbe004740000541a43d0005047b16072480030284504805043b1605047b1c072480020284504805043b160504100205047b1b872480008284504805043b160504100285047b1e072480008284504805d43b030724400201b410440724400081b411400264000001a4070005fed003d5043b1c05d47b03d5d4bb037504fb19872540020284d0540394504d2764000065043b0205fec0004504bb1407244001028490440740000115043b0105fec10025d47b03d5d4bb03c724c00081b493480104514801ae9100020f8330058fbe00250fbe004750000f41a47d0005f411001504bb14072440010284904405047b1507240001028452400740000045fec00005047b150724000102847b4005043b03072480010284114805d43b02a1341004076400001360000005043b030504100085047b19072480008284504805d43b0071af50000920001f01af94000980800009700003f4af800009500007f960800001aec5000910002381a43a0001a4790001a5780001a53e000724800085fed2046724800081b4914805d4fb046104924c0724c001f104924c0724c00051f4924c05fed203f72480004194514805fed10455047b0705e4400005047b0705c45100013451040764400075047b0705c451000134510001a4810007644000b5d43f007364000005d47b045724800081b4514805d4bb046104514807248001f10451480724800051f4914805fed20405047b03072480020284504805043b0b872480020284114805047b20872480020284504805043b2085d47b03f504bb0781ae910001ae5200020f8330058fbe00250fbe0047400003b1a47d0005d4bb040504fb0981ae920001ae5300020f8330058fbe00250fbe004740000321a4bd000504fb13872580020284d15805047b1b87258002028452580504bb178a34934615047b0d8724c0020284524c0504bb158724c0020284904c05043b1d8724c0020284114c05047b198a34524205043b0f872480020284114805047b20872480020284504805047b05072480020284504805043b11872480020284114805047b200504bb228724c002028ed04c05043b020724c0008284114c05043b0287244000828412440724000302857b4001af55000920002381af94000980800009700007f4af800009500000f960800001aec5000910000401a43a0001a4790001a4be0005fec00005fec00015fec00025fed00035043b020724c00202843b4c05043b020724c0020284504c01af51000920000401af92000980800009700000f4af800009500000f960800001aec50001a43a0001a4790001a4be000724c0020284504c01af510001af92000980800009700000f4af8000095000003960800001aec50001a43a0001a47e0005d4100041af500001af9100098080000970000034af800009500007f960800001aec5000910001b81a43a0001a5790001a53e0005047b0807248004828450480504bb0401ae910001ae5200020f8330058fbe00250fbe004750000271a47d000504bb0c8724c0048284904c01ae9200020f8330058fbe00250fbe004750000231a43d000724800081349200076480045504bb060724c0020284914c05047b0101ae920001ae500001ae1100020f8330058fbe00250fbe004750000d01a43d0005047b11072480030284504805043b1105047b18872480020284504805043b110504100205047b18072480008284504805043b110504100285047b1b072480008284504805d43b026724400201b410440724400081b411400264000001a4070005fed00355043b1885d47b0355d4bb030504fb14072580020284d0580394504d25eed00005d43b0355d47b036724800081b45244010410440760000077244000813451040764400025f415000740000015e4150007400000272440008284154405043b1885d47b0355d4bb030504fb16072540020284d05403b4d04525047b0085e4500001af40000920001b81af94000980800009700007f4af8000047000000636f756e740000006e3c7b4f69bbff7132c3c3a62883a6868f47b0bc2a7f21605f29038cd9a5e05f696e6372656d656e7400000000000000cccccccccccc00020000000000000bf40000000000000b8c0000000000000b8400000000000009f0000000000000096c000000000000096400000000000009180000000000000910'
\ No newline at end of file
diff --git a/docs/guides/examples/counter-dapp/frontend/src/sway-api/contracts/factories/CounterContractAbi__factory.ts b/docs/guides/examples/counter-dapp/frontend/src/sway-api/contracts/factories/CounterContractAbi__factory.ts
index ea3df1a83..469ecaa99 100644
--- a/docs/guides/examples/counter-dapp/frontend/src/sway-api/contracts/factories/CounterContractAbi__factory.ts
+++ b/docs/guides/examples/counter-dapp/frontend/src/sway-api/contracts/factories/CounterContractAbi__factory.ts
@@ -4,13 +4,13 @@
/* eslint-disable */
/*
- Fuels version: 0.85.0
- Forc version: 0.56.1
- Fuel-Core version: 0.26.0
+ Fuels version: 0.93.0
+ Forc version: 0.62.0
+ Fuel-Core version: 0.31.0
*/
import { Interface, Contract, ContractFactory } from "fuels";
-import type { Provider, Account, AbstractAddress, BytesLike, DeployContractOptions, StorageSlot } from "fuels";
+import type { Provider, Account, AbstractAddress, BytesLike, DeployContractOptions, StorageSlot, DeployContractResult } from "fuels";
import type { CounterContractAbi, CounterContractAbiInterface } from "../CounterContractAbi";
const _abi = {
@@ -73,41 +73,37 @@ const _abi = {
const _storageSlots: StorageSlot[] = [
{
- "key": "f383b0ce51358be57daa3b725fe44acdb2d880604e367199080b4379c41bb6ed",
+ "key": "6e3c7b4f69bbff7132c3c3a62883a6868f47b0bc2a7f21605f29038cd9a5e05f",
"value": "0000000000000000000000000000000000000000000000000000000000000000"
}
];
-export class CounterContractAbi__factory {
- static readonly abi = _abi;
+export const CounterContractAbi__factory = {
+ abi: _abi,
- static readonly storageSlots = _storageSlots;
+ storageSlots: _storageSlots,
- static createInterface(): CounterContractAbiInterface {
+ createInterface(): CounterContractAbiInterface {
return new Interface(_abi) as unknown as CounterContractAbiInterface
- }
+ },
- static connect(
+ connect(
id: string | AbstractAddress,
accountOrProvider: Account | Provider
): CounterContractAbi {
return new Contract(id, _abi, accountOrProvider) as unknown as CounterContractAbi
- }
+ },
- static async deployContract(
+ async deployContract(
bytecode: BytesLike,
wallet: Account,
options: DeployContractOptions = {}
- ): Promise {
+ ): Promise> {
const factory = new ContractFactory(bytecode, _abi, wallet);
- const { storageSlots } = CounterContractAbi__factory;
-
- const contract = await factory.deployContract({
- storageSlots,
+ return factory.deployContract({
+ storageSlots: _storageSlots,
...options,
});
-
- return contract as unknown as CounterContractAbi;
- }
+ },
}
diff --git a/docs/guides/examples/counter-dapp/frontend/src/sway-api/contracts/index.ts b/docs/guides/examples/counter-dapp/frontend/src/sway-api/contracts/index.ts
index 0fbd4ca7c..1ad43f06c 100644
--- a/docs/guides/examples/counter-dapp/frontend/src/sway-api/contracts/index.ts
+++ b/docs/guides/examples/counter-dapp/frontend/src/sway-api/contracts/index.ts
@@ -4,9 +4,9 @@
/* eslint-disable */
/*
- Fuels version: 0.85.0
- Forc version: 0.56.1
- Fuel-Core version: 0.26.0
+ Fuels version: 0.93.0
+ Forc version: 0.62.0
+ Fuel-Core version: 0.31.0
*/
export type { CounterContractAbi } from './CounterContractAbi';
diff --git a/docs/guides/examples/counter-dapp/frontend/src/vite-env.d.ts b/docs/guides/examples/counter-dapp/frontend/src/vite-env.d.ts
new file mode 100644
index 000000000..11f02fe2a
--- /dev/null
+++ b/docs/guides/examples/counter-dapp/frontend/src/vite-env.d.ts
@@ -0,0 +1 @@
+///
diff --git a/docs/guides/examples/counter-dapp/frontend/tsconfig.app.json b/docs/guides/examples/counter-dapp/frontend/tsconfig.app.json
new file mode 100644
index 000000000..d739292ae
--- /dev/null
+++ b/docs/guides/examples/counter-dapp/frontend/tsconfig.app.json
@@ -0,0 +1,27 @@
+{
+ "compilerOptions": {
+ "composite": true,
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
+ "target": "ES2020",
+ "useDefineForClassFields": true,
+ "lib": ["ES2020", "DOM", "DOM.Iterable"],
+ "module": "ESNext",
+ "skipLibCheck": true,
+
+ /* Bundler mode */
+ "moduleResolution": "bundler",
+ "allowImportingTsExtensions": true,
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "moduleDetection": "force",
+ "noEmit": true,
+ "jsx": "react-jsx",
+
+ /* Linting */
+ "strict": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "noFallthroughCasesInSwitch": true
+ },
+ "include": ["src"]
+}
diff --git a/docs/guides/examples/counter-dapp/frontend/tsconfig.json b/docs/guides/examples/counter-dapp/frontend/tsconfig.json
index a273b0cfc..ea9d0cd82 100644
--- a/docs/guides/examples/counter-dapp/frontend/tsconfig.json
+++ b/docs/guides/examples/counter-dapp/frontend/tsconfig.json
@@ -1,26 +1,11 @@
{
- "compilerOptions": {
- "target": "es5",
- "lib": [
- "dom",
- "dom.iterable",
- "esnext"
- ],
- "allowJs": true,
- "skipLibCheck": true,
- "esModuleInterop": true,
- "allowSyntheticDefaultImports": true,
- "strict": true,
- "forceConsistentCasingInFileNames": true,
- "noFallthroughCasesInSwitch": true,
- "module": "esnext",
- "moduleResolution": "node",
- "resolveJsonModule": true,
- "isolatedModules": true,
- "noEmit": true,
- "jsx": "react-jsx"
- },
- "include": [
- "src"
+ "files": [],
+ "references": [
+ {
+ "path": "./tsconfig.app.json"
+ },
+ {
+ "path": "./tsconfig.node.json"
+ }
]
}
diff --git a/docs/guides/examples/counter-dapp/frontend/tsconfig.node.json b/docs/guides/examples/counter-dapp/frontend/tsconfig.node.json
new file mode 100644
index 000000000..3afdd6e38
--- /dev/null
+++ b/docs/guides/examples/counter-dapp/frontend/tsconfig.node.json
@@ -0,0 +1,13 @@
+{
+ "compilerOptions": {
+ "composite": true,
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
+ "skipLibCheck": true,
+ "module": "ESNext",
+ "moduleResolution": "bundler",
+ "allowSyntheticDefaultImports": true,
+ "strict": true,
+ "noEmit": true
+ },
+ "include": ["vite.config.ts"]
+}
diff --git a/docs/guides/examples/counter-dapp/frontend/vercel.json b/docs/guides/examples/counter-dapp/frontend/vercel.json
new file mode 100644
index 000000000..afea4aed5
--- /dev/null
+++ b/docs/guides/examples/counter-dapp/frontend/vercel.json
@@ -0,0 +1,3 @@
+{
+ "rewrites": [{ "source": "/:path*", "destination": "/index.html" }]
+}
diff --git a/docs/guides/examples/counter-dapp/frontend/vite.config.ts b/docs/guides/examples/counter-dapp/frontend/vite.config.ts
new file mode 100644
index 000000000..5a33944a9
--- /dev/null
+++ b/docs/guides/examples/counter-dapp/frontend/vite.config.ts
@@ -0,0 +1,7 @@
+import { defineConfig } from 'vite'
+import react from '@vitejs/plugin-react'
+
+// https://vitejs.dev/config/
+export default defineConfig({
+ plugins: [react()],
+})
diff --git a/public/images/quickstart-folder-structure.png b/public/images/quickstart-folder-structure.png
index f8e631af6..f0eece177 100644
Binary files a/public/images/quickstart-folder-structure.png and b/public/images/quickstart-folder-structure.png differ