From 80c3ca97bb870b515a2401671ada53e886266639 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sun, 21 Jul 2024 13:50:49 -0300 Subject: [PATCH 01/95] Deleting bytecode template --- .../src/templates/contract/bytecode.hbs | 3 -- .../src/templates/contract/bytecode.test.ts | 30 ------------------- .../src/templates/contract/bytecode.ts | 16 ---------- 3 files changed, 49 deletions(-) delete mode 100644 packages/abi-typegen/src/templates/contract/bytecode.hbs delete mode 100644 packages/abi-typegen/src/templates/contract/bytecode.test.ts delete mode 100644 packages/abi-typegen/src/templates/contract/bytecode.ts diff --git a/packages/abi-typegen/src/templates/contract/bytecode.hbs b/packages/abi-typegen/src/templates/contract/bytecode.hbs deleted file mode 100644 index f1dbec3635a..00000000000 --- a/packages/abi-typegen/src/templates/contract/bytecode.hbs +++ /dev/null @@ -1,3 +0,0 @@ -{{header}} - -export default '{{hexlifiedBytecode}}' \ No newline at end of file diff --git a/packages/abi-typegen/src/templates/contract/bytecode.test.ts b/packages/abi-typegen/src/templates/contract/bytecode.test.ts deleted file mode 100644 index e6fbcfc2bd5..00000000000 --- a/packages/abi-typegen/src/templates/contract/bytecode.test.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { - AbiTypegenProjectsEnum, - getTypegenForcProject, -} from '../../../test/fixtures/forc-projects'; -import bytecodeTemplate from '../../../test/fixtures/templates/contract/bytecode.hbs'; -import { mockVersions } from '../../../test/utils/mockVersions'; - -import { renderBytecodeTemplate } from './bytecode'; - -/** - * @group node - */ -describe('templates/contract/bytecode', () => { - test('should render bytecode template', () => { - // mocking - const { restore } = mockVersions(); - - // executing - const project = getTypegenForcProject(AbiTypegenProjectsEnum.MINIMAL); - - const rendered = renderBytecodeTemplate({ - hexlifiedBytecode: project.binHexlified, - }); - - // validating - restore(); - - expect(rendered.trim()).toEqual(bytecodeTemplate.trim()); - }); -}); diff --git a/packages/abi-typegen/src/templates/contract/bytecode.ts b/packages/abi-typegen/src/templates/contract/bytecode.ts deleted file mode 100644 index 29fb0edb80c..00000000000 --- a/packages/abi-typegen/src/templates/contract/bytecode.ts +++ /dev/null @@ -1,16 +0,0 @@ -import type { BytesLike } from '@fuel-ts/interfaces'; - -import { renderHbsTemplate } from '../renderHbsTemplate'; - -import bytecodeTemplate from './bytecode.hbs'; - -export function renderBytecodeTemplate(params: { hexlifiedBytecode: BytesLike }) { - const text = renderHbsTemplate({ - template: bytecodeTemplate, - data: { - hexlifiedBytecode: params.hexlifiedBytecode, - }, - }); - - return text; -} From c5d2c6946a89850cbd564a43be74ccdfb9707a55 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sun, 21 Jul 2024 13:52:05 -0300 Subject: [PATCH 02/95] Renaming `dts` template to `main`, refactoring structure --- .../templates/contract/{dts.hbs => main.hbs} | 24 ++++++++++++++++-- .../templates/contract/{dts.ts => main.ts} | 25 ++++++++++++++++--- 2 files changed, 43 insertions(+), 6 deletions(-) rename packages/abi-typegen/src/templates/contract/{dts.hbs => main.hbs} (73%) rename packages/abi-typegen/src/templates/contract/{dts.ts => main.ts} (70%) diff --git a/packages/abi-typegen/src/templates/contract/dts.hbs b/packages/abi-typegen/src/templates/contract/main.hbs similarity index 73% rename from packages/abi-typegen/src/templates/contract/dts.hbs rename to packages/abi-typegen/src/templates/contract/main.hbs index c9000f005a3..cf9ad3126f6 100644 --- a/packages/abi-typegen/src/templates/contract/dts.hbs +++ b/packages/abi-typegen/src/templates/contract/main.hbs @@ -1,5 +1,8 @@ {{header}} +import { Interface, Contract } from "fuels"; +import type { Provider, Account, StorageSlot, AbstractAddress } from "fuels"; + {{#if imports}} import type { {{#each imports}} @@ -48,7 +51,15 @@ export type {{capitalizedName}}Configurables = { }; {{/if}} -interface {{capitalizedName}}Interface extends Interface { +const abi = {{abiJsonString}}; + +const storageSlots: StorageSlot[] = {{storageSlotsJsonString}}; + +export class {{capitalizedName}}Interface extends Interface { + constructor() { + super(abi); + } + functions: { {{#each functionsFragments}} {{this}}: FunctionFragment; @@ -56,12 +67,21 @@ interface {{capitalizedName}}Interface extends Interface { }; } - export class {{capitalizedName}} extends Contract { + static readonly abi = abi; + static readonly storageSlots = storageSlots; + interface: {{capitalizedName}}Interface; functions: { {{#each functionsTypedefs}} {{this}}; {{/each}} }; + + constructor( + id: string | AbstractAddress, + accountOrProvider: Account | Provider, + ) { + super(id, abi, accountOrProvider); + } } diff --git a/packages/abi-typegen/src/templates/contract/dts.ts b/packages/abi-typegen/src/templates/contract/main.ts similarity index 70% rename from packages/abi-typegen/src/templates/contract/dts.ts rename to packages/abi-typegen/src/templates/contract/main.ts index 3acb12baf7c..bf1fab836be 100644 --- a/packages/abi-typegen/src/templates/contract/dts.ts +++ b/packages/abi-typegen/src/templates/contract/main.ts @@ -5,10 +5,18 @@ import { formatEnums } from '../utils/formatEnums'; import { formatImports } from '../utils/formatImports'; import { formatStructs } from '../utils/formatStructs'; -import dtsTemplate from './dts.hbs'; +import mainTemplate from './main.hbs'; -export function renderDtsTemplate(params: { abi: Abi }) { - const { name: capitalizedName, types, functions, commonTypesInUse, configurables } = params.abi; +export function renderMainTemplate(params: { abi: Abi }) { + const { + camelizedName, + capitalizedName, + types, + functions, + commonTypesInUse, + configurables, + hexlifiedBinContents, + } = params.abi; /* First we format all attributes @@ -39,14 +47,21 @@ export function renderDtsTemplate(params: { abi: Abi }) { 'InvokeFunction', ], }); + const { formattedConfigurables } = formatConfigurables({ configurables }); + const { rawContents, storageSlotsContents } = params.abi; + const abiJsonString = JSON.stringify(rawContents, null, 2); + const storageSlotsJsonString = storageSlotsContents ?? '[]'; + /* And finally render template */ const text = renderHbsTemplate({ - template: dtsTemplate, + template: mainTemplate, data: { + camelizedName, + binHexlified: hexlifiedBinContents, capitalizedName, commonTypesInUse: commonTypesInUse.join(', '), functionsTypedefs, @@ -57,6 +72,8 @@ export function renderDtsTemplate(params: { abi: Abi }) { enums, imports, formattedConfigurables, + abiJsonString, + storageSlotsJsonString, }, }); From 818d95b7cc67c23c8ac36577ba51f57b17fe48f7 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sun, 21 Jul 2024 13:52:28 -0300 Subject: [PATCH 03/95] Refactoring `factory` contract template --- .../src/templates/contract/factory.hbs | 40 ++++++------------- .../src/templates/contract/factory.ts | 4 +- 2 files changed, 15 insertions(+), 29 deletions(-) diff --git a/packages/abi-typegen/src/templates/contract/factory.hbs b/packages/abi-typegen/src/templates/contract/factory.hbs index 94a1deaa430..39bdba23e75 100644 --- a/packages/abi-typegen/src/templates/contract/factory.hbs +++ b/packages/abi-typegen/src/templates/contract/factory.hbs @@ -1,39 +1,25 @@ {{header}} -import { Interface, Contract, ContractFactory } from "fuels"; -import type { Provider, Account, AbstractAddress, BytesLike, DeployContractOptions, StorageSlot, DeployContractResult } from "fuels"; -import type { {{capitalizedName}}, {{capitalizedName}}Interface } from "../{{capitalizedName}}"; +import { ContractFactory } from "fuels"; +import type { Provider, Account, DeployContractOptions, DeployContractResult } from "fuels"; +import { {{capitalizedName}} } from "./{{capitalizedName}}"; -const _abi = {{abiJsonString}}; +export const {{camelizedName}}Bytecode = "0x1af030007400000200000000000006785dffc00110ffff00740000001aec5000910003407240004a5fed00011a4060005fed005f5d47b05f5d43b001724800081b412400104114005fed00615d43b0611ae9000020f8330058fbe00250fbe004740001191a43d0005fed00635d43b0635047b0205fed00045043b1c872480008284114805047b2787248000828450480724000495fed00001a4060005fed00605d43b0605d47b000724800081b452440104104405fed00625d43b0621ae9000020f8330058fbe00250fbe004740000fe1a43d0005fed00645d43b0645047b0605fed000c5043b1d072480008284114805047b2b072480008284504805043b2b01ae9000020f8330058fbe00250fbe004740000ff1a47d0005fed105d5047b2e85d4bb05d504fb03872500008284d05005051300872540008285115405047b33072500010284535005d4500001b481480104514805f4110005043b3305047b1d872480010284504805043b2d072480010284114805043b2d05047b15872480010284504801ae9100020f8330058fbe00250fbe004740000f31a43d0005047b2e8504bb0285fed000550412008724c0008284114c05043b1f872440010284124405047b20872480010284504805d43f002104100c0504bb280724c0010284914c0504bb2805047b0105fed00027240000c5fed0003504fb0b072400010284d14005043b17872440010284124401ae9000020f8330058fbe00250fbe004740000e61a43d0005047b18872500010284535001ae9100020f8330058fbe00250fbe004740000dd1a47d00013410440134500001a400000764400225043b1a872440010284124401ae9000020f8330058fbe00250fbe004740000e81a43d0005fed00655043b1b872440010284134401ae9000020f8330058fbe00250fbe004740000de1a43d0005fed005e5043b19872440010284124401ae9000020f8330058fbe00250fbe004740000bc1a43d0005fed005c5d43b0655d47b05e5d4bb05c2941045276400001740000765043b2781ae9000020f8330058fbe00250fbe004740000841a43d0005047b0805fed00105043b21872480008284114805047b22072480008284504805043b2a872480008284114805d43b0555fed00525043b29072440400264400001a447000504bb0885fed1011724404005fed10125fec00135047b0c0724c0018284524c0504bb228724c0018284914c05047b118724c0018284524c0504bb048724c0018284914c05d53b0095d4fb00a5d47b00b7248000810491480154924c07648000174000005724800021b4d3480264c0000281d44401a50700010494440725400082849054072400008104114005047b0d85fed401b5fed301c5fed001d5043b10072480018284114805047b24072480018284504805043b2b872480018284114805043b2b85047b13072480018284504805043b06872480018284114805d47b00d50410010504bb0f05fed101e50452008724c0008284504c05043b25872440010284124405047b26872480010284504805043b29872480010284114805043b2985047b16872480010284504801ae9100020f8330058fbe00250fbe004740000371a43d0005047b298504bb148724c0010284914c05047b1e8724c0010284524c0504bb0a0724c0010284914c05d47b01512451040254110007240007b3640000095000007960800001aec50001a43a0001a47e000760000077248000813492040764800025d410000740000015c410000740000001af500001af9100098080000970000074af800009500000f960800001aec5000910000081a43a0001a47e0005d4900005d4920005fed20005d490000724c00081b4c14c0104924c05f4120005d43b0001af50000920000081af91000980800009700000f4af800009500000f960800001aec5000910000301a43a0001a47e000504bb010724c0010284904c05043b020724c0010284124c07248001028ed04805d43b0041af50000920000301af91000980800009700000f4af800009500000f960800001aec5000910000281a43a0001a47e0007248001028ed04801a43b000504bb010724c0010284904c05043b01050410008504bb020724c0008284904c05d43b0031af50000920000281af91000980800009700000f4af800009500000f960800001aec5000910000281a43a0001a47e0007248001028ed04801a43b000504bb010724c0010284904c05043b010504bb020724c0008284904c05d43b0021af50000920000281af91000980800009700000f4af800004700000072657475726e5f696e7075740000000000000000000004a8"; -const _storageSlots: StorageSlot[] = {{storageSlotsJsonString}}; +export class {{capitalizedName}}Factory extends ContractFactory { + constructor(accountOrProvider: Account | Provider) { + super({{camelizedName}}Bytecode, {{capitalizedName}}.abi, accountOrProvider); + } -export const {{capitalizedName}}__factory = { - abi: _abi, - - storageSlots: _storageSlots, - - createInterface(): {{capitalizedName}}Interface { - return new Interface(_abi) as unknown as {{capitalizedName}}Interface - }, - - connect( - id: string | AbstractAddress, - accountOrProvider: Account | Provider - ): {{capitalizedName}} { - return new Contract(id, _abi, accountOrProvider) as unknown as {{capitalizedName}} - }, - - async deployContract( - bytecode: BytesLike, + static async deploy ( wallet: Account, options: DeployContractOptions = {} ): Promise> { - const factory = new ContractFactory(bytecode, _abi, wallet); + const factory = new {{capitalizedName}}Factory(wallet); - return factory.deployContract<{{capitalizedName}}>({ - storageSlots: _storageSlots, + return factory.deployContract({ + storageSlots: {{capitalizedName}}.storageSlots, ...options, }); - }, + } } diff --git a/packages/abi-typegen/src/templates/contract/factory.ts b/packages/abi-typegen/src/templates/contract/factory.ts index 4cb1643d13a..0b4556c9d6a 100644 --- a/packages/abi-typegen/src/templates/contract/factory.ts +++ b/packages/abi-typegen/src/templates/contract/factory.ts @@ -4,13 +4,13 @@ import { renderHbsTemplate } from '../renderHbsTemplate'; import factoryTemplate from './factory.hbs'; export function renderFactoryTemplate(params: { abi: Abi }) { - const { name: capitalizedName, rawContents, storageSlotsContents } = params.abi; + const { camelizedName, capitalizedName, rawContents, storageSlotsContents } = params.abi; const abiJsonString = JSON.stringify(rawContents, null, 2); const storageSlotsJsonString = storageSlotsContents ?? '[]'; const text = renderHbsTemplate({ template: factoryTemplate, - data: { capitalizedName, abiJsonString, storageSlotsJsonString }, + data: { camelizedName, capitalizedName, abiJsonString, storageSlotsJsonString }, }); return text; From 7b2c0cbf88d232169dca83dd4b46327b1caf2426 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sun, 21 Jul 2024 13:55:33 -0300 Subject: [PATCH 04/95] Adding more name variations --- packages/abi-typegen/src/abi/Abi.ts | 11 +++++++---- .../abi-typegen/src/templates/predicate/factory.ts | 2 +- packages/abi-typegen/src/templates/script/factory.ts | 2 +- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/packages/abi-typegen/src/abi/Abi.ts b/packages/abi-typegen/src/abi/Abi.ts index 179654d2a40..600422ef869 100644 --- a/packages/abi-typegen/src/abi/Abi.ts +++ b/packages/abi-typegen/src/abi/Abi.ts @@ -14,7 +14,8 @@ import { parseTypes } from '../utils/parseTypes'; Manages many instances of Types and Functions */ export class Abi { - public name: string; + public capitalizedName: string; + public camelizedName: string; public programType: ProgramTypeEnum; public filepath: string; @@ -59,11 +60,13 @@ export class Abi { ); } - const name = `${normalizeString(abiName[1])}Abi`; - - this.name = name; this.programType = programType; + const normalizedName = `${normalizeString(abiName[1])}`; + + this.capitalizedName = normalizedName; + this.camelizedName = normalizedName.replace(/^./m, (x) => x.toLowerCase()); + this.filepath = filepath; this.rawContents = rawContents; this.hexlifiedBinContents = hexlifiedBinContents; diff --git a/packages/abi-typegen/src/templates/predicate/factory.ts b/packages/abi-typegen/src/templates/predicate/factory.ts index c3f587198b3..f91239c98d0 100644 --- a/packages/abi-typegen/src/templates/predicate/factory.ts +++ b/packages/abi-typegen/src/templates/predicate/factory.ts @@ -16,7 +16,7 @@ export function renderFactoryTemplate(params: { abi: Abi }) { const { rawContents, - name: capitalizedName, + capitalizedName, hexlifiedBinContents: hexlifiedBinString, commonTypesInUse, } = params.abi; diff --git a/packages/abi-typegen/src/templates/script/factory.ts b/packages/abi-typegen/src/templates/script/factory.ts index eb158c81eb6..bb160a35d12 100644 --- a/packages/abi-typegen/src/templates/script/factory.ts +++ b/packages/abi-typegen/src/templates/script/factory.ts @@ -16,7 +16,7 @@ export function renderFactoryTemplate(params: { abi: Abi }) { const { rawContents, - name: capitalizedName, + capitalizedName, hexlifiedBinContents: hexlifiedBinString, commonTypesInUse, } = params.abi; From 44026115c33fd13d94b60dc97a2cb065eaa894b5 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sun, 21 Jul 2024 13:56:07 -0300 Subject: [PATCH 05/95] Re-enable eslint for generated files --- packages/abi-typegen/src/templates/common/_header.hbs | 3 --- 1 file changed, 3 deletions(-) diff --git a/packages/abi-typegen/src/templates/common/_header.hbs b/packages/abi-typegen/src/templates/common/_header.hbs index e301fa946dc..a95d275a397 100644 --- a/packages/abi-typegen/src/templates/common/_header.hbs +++ b/packages/abi-typegen/src/templates/common/_header.hbs @@ -1,8 +1,5 @@ /* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ - /* Fuels version: {{FUELS}} Forc version: {{FORC}} From 40ff0d4ffb5f1a24bf78f938f1da9e88a9fe36ae Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sun, 21 Jul 2024 13:57:17 -0300 Subject: [PATCH 06/95] Reviewing filename suffixes and assembler utilities --- packages/abi-typegen/src/runTypegen.test.ts | 11 +++----- .../src/templates/common/index.hbs | 9 +++---- .../src/templates/predicate/factory.hbs | 2 +- .../src/templates/script/factory.hbs | 2 +- .../src/utils/assembleContracts.ts | 26 ++++++------------- .../src/utils/assemblePredicates.ts | 4 +-- .../abi-typegen/src/utils/assembleScripts.ts | 4 +-- 7 files changed, 21 insertions(+), 37 deletions(-) diff --git a/packages/abi-typegen/src/runTypegen.test.ts b/packages/abi-typegen/src/runTypegen.test.ts index 73cf4765748..f1a356c8f86 100644 --- a/packages/abi-typegen/src/runTypegen.test.ts +++ b/packages/abi-typegen/src/runTypegen.test.ts @@ -60,7 +60,7 @@ describe('runTypegen.js', () => { join(output, 'common.d.ts'), join(output, `${normalizedName}Abi.d.ts`), join(output, `${normalizedName}2Abi.d.ts`), - join(output, 'factories', `${normalizedName}Abi__factory.ts`), + join(output, 'factories', `${normalizedName}Abi.ts`), join(output, `${normalizedName}Abi.hex.ts`), join(output, `${normalizedName}2Abi.hex.ts`), ]; @@ -106,7 +106,7 @@ describe('runTypegen.js', () => { join(output, 'index.ts'), join(output, 'common.d.ts'), join(output, `${normalizedName}Abi.d.ts`), - join(output, 'factories', `${normalizedName}Abi__factory.ts`), + join(output, 'factories', `${normalizedName}Abi.ts`), join(output, `${normalizedName}Abi.hex.ts`), ]; @@ -147,10 +147,7 @@ describe('runTypegen.js', () => { expect(error).toBeFalsy(); // check if all files were created - const files = [ - join(output, 'index.ts'), - join(output, 'factories', `${normalizedName}Abi__factory.ts`), - ]; + const files = [join(output, 'index.ts'), join(output, 'factories', `${normalizedName}Abi.ts`)]; expect(files.length).toEqual(2); @@ -302,7 +299,7 @@ describe('runTypegen.js', () => { join(output, 'common.d.ts'), join(output, `${normalizedName}Abi.d.ts`), join(output, `${normalizedName}2Abi.d.ts`), - join(output, 'factories', `${normalizedName}Abi__factory.ts`), + join(output, 'factories', `${normalizedName}Abi.ts`), join(output, `${normalizedName}Abi.hex.ts`), join(output, `${normalizedName}2Abi.hex.ts`), ]; diff --git a/packages/abi-typegen/src/templates/common/index.hbs b/packages/abi-typegen/src/templates/common/index.hbs index 0acd4ddbe5b..09b2228cb60 100644 --- a/packages/abi-typegen/src/templates/common/index.hbs +++ b/packages/abi-typegen/src/templates/common/index.hbs @@ -2,16 +2,13 @@ {{#if isGeneratingContracts}} {{#each abis}} -export type { {{name}} } from './{{name}}'; +export * from './{{capitalizedName}}'; +export * from './{{capitalizedName}}Factory'; {{/each}} {{/if}} {{#if isGeneratingPredicates}} {{#each abis}} -export type { {{name}}Inputs } from './factories/{{name}}__factory'; +export * from './{{capitalizedName}}'; {{/each}} {{/if}} - -{{#each abis}} -export { {{name}}__factory } from './factories/{{name}}__factory'; -{{/each}} diff --git a/packages/abi-typegen/src/templates/predicate/factory.hbs b/packages/abi-typegen/src/templates/predicate/factory.hbs index bccbe7a1f16..eb141ba7164 100644 --- a/packages/abi-typegen/src/templates/predicate/factory.hbs +++ b/packages/abi-typegen/src/templates/predicate/factory.hbs @@ -52,7 +52,7 @@ const _abi = {{abiJsonString}} const _bin = '{{hexlifiedBinString}}' -export const {{capitalizedName}}__factory = { +export const {{capitalizedName}} = { abi: _abi, bin: _bin, diff --git a/packages/abi-typegen/src/templates/script/factory.hbs b/packages/abi-typegen/src/templates/script/factory.hbs index 299fc10ad07..18112ef048d 100644 --- a/packages/abi-typegen/src/templates/script/factory.hbs +++ b/packages/abi-typegen/src/templates/script/factory.hbs @@ -55,7 +55,7 @@ const _abi = {{abiJsonString}} const _bin = '{{hexlifiedBinString}}' -export const {{capitalizedName}}__factory = { +export const {{capitalizedName}} = { abi: _abi, bin: _bin, diff --git a/packages/abi-typegen/src/utils/assembleContracts.ts b/packages/abi-typegen/src/utils/assembleContracts.ts index 049c5d73870..4d8fdd3b964 100644 --- a/packages/abi-typegen/src/utils/assembleContracts.ts +++ b/packages/abi-typegen/src/utils/assembleContracts.ts @@ -4,9 +4,8 @@ import type { Abi } from '../abi/Abi'; import type { IFile } from '../index'; import { renderCommonTemplate } from '../templates/common/common'; import { renderIndexTemplate } from '../templates/common/index'; -import { renderBytecodeTemplate } from '../templates/contract/bytecode'; -import { renderDtsTemplate } from '../templates/contract/dts'; import { renderFactoryTemplate } from '../templates/contract/factory'; +import { renderMainTemplate } from '../templates/contract/main'; /** * Render all Contract-related templates and returns @@ -20,15 +19,14 @@ export function assembleContracts(params: { abis: Abi[]; outputDir: string }) { const usesCommonTypes = abis.find((a) => a.commonTypesInUse.length > 0); abis.forEach((abi) => { - const { name } = abi; + const { capitalizedName } = abi; - const dtsFilepath = `${outputDir}/${name}.d.ts`; - const factoryFilepath = `${outputDir}/factories/${name}__factory.ts`; - const hexBinFilePath = `${outputDir}/${name}.hex.ts`; + const mainFilepath = `${outputDir}/${capitalizedName}.ts`; + const factoryFilepath = `${outputDir}/${capitalizedName}Factory.ts`; - const dts: IFile = { - path: dtsFilepath, - contents: renderDtsTemplate({ abi }), + const main: IFile = { + path: mainFilepath, + contents: renderMainTemplate({ abi }), }; const factory: IFile = { @@ -36,16 +34,8 @@ export function assembleContracts(params: { abis: Abi[]; outputDir: string }) { contents: renderFactoryTemplate({ abi }), }; - const hexBinFile: IFile = { - path: hexBinFilePath, - contents: renderBytecodeTemplate({ - hexlifiedBytecode: abi.hexlifiedBinContents as string, - }), - }; - - files.push(dts); + files.push(main); files.push(factory); - files.push(hexBinFile); }); // Includes index file diff --git a/packages/abi-typegen/src/utils/assemblePredicates.ts b/packages/abi-typegen/src/utils/assemblePredicates.ts index 3e3d4700e77..393da5130d8 100644 --- a/packages/abi-typegen/src/utils/assemblePredicates.ts +++ b/packages/abi-typegen/src/utils/assemblePredicates.ts @@ -18,9 +18,9 @@ export function assemblePredicates(params: { abis: Abi[]; outputDir: string }) { const usesCommonTypes = abis.find((a) => a.commonTypesInUse.length > 0); abis.forEach((abi) => { - const { name } = abi; + const { capitalizedName: name } = abi; - const factoryFilepath = `${outputDir}/factories/${name}__factory.ts`; + const factoryFilepath = `${outputDir}/factories/${name}.ts`; const factory: IFile = { path: factoryFilepath, diff --git a/packages/abi-typegen/src/utils/assembleScripts.ts b/packages/abi-typegen/src/utils/assembleScripts.ts index 69fd3f6f26f..b01e73c443f 100644 --- a/packages/abi-typegen/src/utils/assembleScripts.ts +++ b/packages/abi-typegen/src/utils/assembleScripts.ts @@ -18,9 +18,9 @@ export function assembleScripts(params: { abis: Abi[]; outputDir: string }) { const usesCommonTypes = abis.find((a) => a.commonTypesInUse.length > 0); abis.forEach((abi) => { - const { name } = abi; + const { capitalizedName } = abi; - const factoryFilepath = `${outputDir}/factories/${name}__factory.ts`; + const factoryFilepath = `${outputDir}/factories/${capitalizedName}.ts`; const factory: IFile = { path: factoryFilepath, From 4ae34efc7c366eff83cf62c3acda7ff694c7745f Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sun, 21 Jul 2024 13:59:57 -0300 Subject: [PATCH 07/95] Adding test script --- apps/demo-fuels/package.json | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/apps/demo-fuels/package.json b/apps/demo-fuels/package.json index 4e237dd6528..6fe1b1cf251 100644 --- a/apps/demo-fuels/package.json +++ b/apps/demo-fuels/package.json @@ -4,13 +4,14 @@ "description": "Simple demo using Fuels CLI", "author": "Fuel Labs (https://fuel.network/)", "scripts": { - "pretest": "pnpm fuels build" + "build": "pnpm fuels build", + "pretest": "pnpm build", + "test": "cd ../.. && pnpm test:filter apps/demo-fuels" }, "license": "Apache-2.0", "dependencies": { "@fuel-ts/errors": "workspace:^", "@fuel-ts/account": "workspace:^", "fuels": "workspace:*" - }, - "version": null + } } From 0b80da281744dc73f24f8c80322254c8e44170ab Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sun, 21 Jul 2024 14:15:53 -0300 Subject: [PATCH 08/95] Refactoring tests --- apps/demo-fuels/src/index.test.ts | 33 +++++++++---------- .../src/utils/assembleContracts.test.ts | 26 +++------------ 2 files changed, 19 insertions(+), 40 deletions(-) diff --git a/apps/demo-fuels/src/index.test.ts b/apps/demo-fuels/src/index.test.ts index d958543760d..55d0d6db30e 100644 --- a/apps/demo-fuels/src/index.test.ts +++ b/apps/demo-fuels/src/index.test.ts @@ -5,11 +5,10 @@ * It ensures that built code is fully working. */ -import { ContractFactory, Provider, toHex, Wallet, FUEL_NETWORK_URL } from 'fuels'; +import { Provider, toHex, Wallet, FUEL_NETWORK_URL } from 'fuels'; import { generateTestWallet, safeExec } from 'fuels/test-utils'; -import { SampleAbi__factory } from './sway-programs-api'; -import bytecode from './sway-programs-api/contracts/SampleAbi.hex'; +import { SampleFactory, Sample } from './sway-programs-api'; let baseAssetId: string; @@ -27,8 +26,7 @@ describe('ExampleContract', () => { const wallet = await generateTestWallet(provider, [[500_000, baseAssetId]]); // Deploy - const factory = new ContractFactory(bytecode, SampleAbi__factory.abi, wallet); - const deploy = await factory.deployContract(); + const deploy = await SampleFactory.deploy(wallet); const { contract } = await deploy.waitForResult(); // Call @@ -39,7 +37,7 @@ describe('ExampleContract', () => { expect(value.toHex()).toEqual(toHex(1337)); // You can also make a call using the factory - const contractInstance = SampleAbi__factory.connect(contract.id, wallet); + const contractInstance = new Sample(contract.id, wallet); const call2 = await contractInstance.functions.return_input(1337).call(); const { value: v2 } = await call2.waitForResult(); expect(v2.toHex()).toBe(toHex(1337)); @@ -50,7 +48,7 @@ describe('ExampleContract', () => { const wallet = await generateTestWallet(provider, [[500_000, baseAssetId]]); // Deploy - const deploy = await SampleAbi__factory.deployContract(bytecode, wallet); + const deploy = await SampleFactory.deploy(wallet); const { contract } = await deploy.waitForResult(); // Call @@ -66,10 +64,10 @@ describe('ExampleContract', () => { const fundedWallet = await generateTestWallet(provider, [[500_000, baseAssetId]]); const unfundedWallet = Wallet.generate({ provider }); - const factory = new ContractFactory(bytecode, SampleAbi__factory.abi, fundedWallet); - const { waitForResult } = await factory.deployContract(); - const { contract } = await waitForResult(); - const contractInstance = SampleAbi__factory.connect(contract.id, unfundedWallet); + const deploy = await SampleFactory.deploy(fundedWallet); + const { contract } = await deploy.waitForResult(); + + const contractInstance = new Sample(contract.id, unfundedWallet); const { error } = await safeExec(() => contractInstance.functions.return_input(1337).simulate() @@ -83,10 +81,9 @@ describe('ExampleContract', () => { const fundedWallet = await generateTestWallet(provider, [[500_000, baseAssetId]]); const unfundedWallet = Wallet.generate({ provider }); - const factory = new ContractFactory(bytecode, SampleAbi__factory.abi, fundedWallet); - const { waitForResult } = await factory.deployContract(); + const { waitForResult } = await SampleFactory.deploy(fundedWallet); const { contract } = await waitForResult(); - const contractInstance = SampleAbi__factory.connect(contract.id, unfundedWallet); + const contractInstance = new Sample(contract.id, unfundedWallet); await expect(contractInstance.functions.return_input(1337).dryRun()).resolves.not.toThrow(); }); @@ -94,14 +91,14 @@ describe('ExampleContract', () => { it('should demo how to use generated files just fine', async () => { const provider = await Provider.create(FUEL_NETWORK_URL); const wallet = await generateTestWallet(provider, [[500_000, baseAssetId]]); - const { waitForResult } = await SampleAbi__factory.deployContract(bytecode, wallet); - const { contract: depoloyed } = await waitForResult(); + const deploy = await SampleFactory.deploy(wallet); + const { contract: depoloyed } = await deploy.waitForResult(); const contractsIds = { sample: depoloyed.id, }; // #region using-generated-files - // #context import { SampleAbi__factory } from './sway-programs-api'; + // #context import { Sample } from './sway-programs-api'; // #context import contractsIds from './sway-programs-api/contract-ids.json'; // #context /** @@ -110,7 +107,7 @@ describe('ExampleContract', () => { // #context */ // #context const wallet = new Wallet.fromPrivateKey(process.env.PRIVATE_KEY); - const contract = SampleAbi__factory.connect(contractsIds.sample, wallet); + const contract = new Sample(contractsIds.sample, wallet); const { value } = await contract.functions.return_input(1337).dryRun(); diff --git a/packages/abi-typegen/src/utils/assembleContracts.test.ts b/packages/abi-typegen/src/utils/assembleContracts.test.ts index 887c6fbecf1..1530d4915ea 100644 --- a/packages/abi-typegen/src/utils/assembleContracts.test.ts +++ b/packages/abi-typegen/src/utils/assembleContracts.test.ts @@ -1,8 +1,7 @@ import { getNewAbiTypegen } from '../../test/utils/getNewAbiTypegen'; import * as renderCommonTemplateMod from '../templates/common/common'; import * as renderIndexTemplateMod from '../templates/common/index'; -import * as renderBytecodeTemplateMod from '../templates/contract/bytecode'; -import * as renderFactoryTemplateMod from '../templates/contract/factory'; +import * as renderMainTemplateMod from '../templates/contract/main'; import { ProgramTypeEnum } from '../types/enums/ProgramTypeEnum'; import { assembleContracts } from './assembleContracts'; @@ -19,22 +18,17 @@ describe('assembleContracts.ts', () => { .mockReturnValue(''); const renderFactoryTemplate = vi - .spyOn(renderFactoryTemplateMod, 'renderFactoryTemplate') + .spyOn(renderMainTemplateMod, 'renderMainTemplate') .mockReturnValue(''); const renderIndexTemplate = vi .spyOn(renderIndexTemplateMod, 'renderIndexTemplate') .mockReturnValue(''); - const renderBytecodeTemplate = vi - .spyOn(renderBytecodeTemplateMod, 'renderBytecodeTemplate') - .mockReturnValue(''); - return { renderCommonTemplate, renderFactoryTemplate, renderIndexTemplate, - renderBytecodeTemplate, }; } @@ -46,12 +40,7 @@ describe('assembleContracts.ts', () => { includeOptionType: false, // will prevent `common` template from being included }); - const { - renderCommonTemplate, - renderFactoryTemplate, - renderIndexTemplate, - renderBytecodeTemplate, - } = mockAllDeps(); + const { renderCommonTemplate, renderFactoryTemplate, renderIndexTemplate } = mockAllDeps(); const files = assembleContracts({ abis, outputDir }); @@ -60,7 +49,6 @@ describe('assembleContracts.ts', () => { expect(renderCommonTemplate).toHaveBeenCalledTimes(0); expect(renderFactoryTemplate).toHaveBeenCalledTimes(2); expect(renderIndexTemplate).toHaveBeenCalledTimes(1); - expect(renderBytecodeTemplate).toHaveBeenCalledTimes(2); }); test('should assemble all files from Contract ABI, including `common` file', () => { @@ -71,12 +59,7 @@ describe('assembleContracts.ts', () => { includeOptionType: true, // will cause `common` template to be included }); - const { - renderCommonTemplate, - renderFactoryTemplate, - renderIndexTemplate, - renderBytecodeTemplate, - } = mockAllDeps(); + const { renderCommonTemplate, renderFactoryTemplate, renderIndexTemplate } = mockAllDeps(); const files = assembleContracts({ abis, outputDir }); @@ -85,6 +68,5 @@ describe('assembleContracts.ts', () => { expect(renderCommonTemplate).toHaveBeenCalledTimes(1); // must have been called expect(renderFactoryTemplate).toHaveBeenCalledTimes(2); expect(renderIndexTemplate).toHaveBeenCalledTimes(1); - expect(renderBytecodeTemplate).toHaveBeenCalledTimes(2); }); }); From ce815e0d9e95fc6a0df66b036642ba99fe9d5936 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sun, 21 Jul 2024 14:16:14 -0300 Subject: [PATCH 09/95] Sorting --- packages/abi-typegen/src/templates/contract/main.hbs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/abi-typegen/src/templates/contract/main.hbs b/packages/abi-typegen/src/templates/contract/main.hbs index cf9ad3126f6..4c28e63a84d 100644 --- a/packages/abi-typegen/src/templates/contract/main.hbs +++ b/packages/abi-typegen/src/templates/contract/main.hbs @@ -1,6 +1,6 @@ {{header}} -import { Interface, Contract } from "fuels"; +import { Contract, Interface } from "fuels"; import type { Provider, Account, StorageSlot, AbstractAddress } from "fuels"; {{#if imports}} From d2666c7a0200a6819ec0e76ac406601852643d5c Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sun, 21 Jul 2024 14:16:24 -0300 Subject: [PATCH 10/95] Commenting out unused items --- packages/abi-typegen/src/templates/contract/main.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/abi-typegen/src/templates/contract/main.ts b/packages/abi-typegen/src/templates/contract/main.ts index bf1fab836be..d0134f022b1 100644 --- a/packages/abi-typegen/src/templates/contract/main.ts +++ b/packages/abi-typegen/src/templates/contract/main.ts @@ -39,11 +39,11 @@ export function renderMainTemplate(params: { abi: Abi }) { const { imports } = formatImports({ types, baseMembers: [ - 'Interface', + // 'Interface', 'FunctionFragment', - 'DecodedValue', - 'Contract', - 'BytesLike', + // 'DecodedValue', + // 'Contract', + // 'BytesLike', 'InvokeFunction', ], }); From cff0aac15b8d06495daba9feaa5cbf50324df2be Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sun, 21 Jul 2024 14:42:16 -0300 Subject: [PATCH 11/95] Adjusting template --- packages/abi-typegen/src/templates/contract/main.hbs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/abi-typegen/src/templates/contract/main.hbs b/packages/abi-typegen/src/templates/contract/main.hbs index 4c28e63a84d..4035c5403f7 100644 --- a/packages/abi-typegen/src/templates/contract/main.hbs +++ b/packages/abi-typegen/src/templates/contract/main.hbs @@ -60,7 +60,7 @@ export class {{capitalizedName}}Interface extends Interface { super(abi); } - functions: { + declare functions: { {{#each functionsFragments}} {{this}}: FunctionFragment; {{/each}} @@ -71,8 +71,8 @@ export class {{capitalizedName}} extends Contract { static readonly abi = abi; static readonly storageSlots = storageSlots; - interface: {{capitalizedName}}Interface; - functions: { + declare interface: {{capitalizedName}}Interface; + declare functions: { {{#each functionsTypedefs}} {{this}}; {{/each}} From ea3d154efe3c2f7a4f08012d4c512638b257fb35 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sun, 21 Jul 2024 14:42:43 -0300 Subject: [PATCH 12/95] Adding missing tsconfig file --- apps/demo-fuels/tsconfig.json | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 apps/demo-fuels/tsconfig.json diff --git a/apps/demo-fuels/tsconfig.json b/apps/demo-fuels/tsconfig.json new file mode 100644 index 00000000000..b0fced27d72 --- /dev/null +++ b/apps/demo-fuels/tsconfig.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "./dist" + }, + "include": ["src"] +} From a4992d6b5468d927b623a76f59657886fb9497ca Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sun, 21 Jul 2024 14:42:57 -0300 Subject: [PATCH 13/95] Adjusting test label --- apps/demo-fuels/src/index.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/demo-fuels/src/index.test.ts b/apps/demo-fuels/src/index.test.ts index 55d0d6db30e..517905def1f 100644 --- a/apps/demo-fuels/src/index.test.ts +++ b/apps/demo-fuels/src/index.test.ts @@ -43,7 +43,7 @@ describe('ExampleContract', () => { expect(v2.toHex()).toBe(toHex(1337)); }); - it('deployContract method', async () => { + it('should deploy contract', async () => { const provider = await Provider.create(FUEL_NETWORK_URL); const wallet = await generateTestWallet(provider, [[500_000, baseAssetId]]); From ac766ce7ec5e043dfd4bc5dd559b88845a2bd34f Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sun, 21 Jul 2024 14:44:01 -0300 Subject: [PATCH 14/95] Saving draft --- apps/demo-fuels/src/usage.ts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 apps/demo-fuels/src/usage.ts diff --git a/apps/demo-fuels/src/usage.ts b/apps/demo-fuels/src/usage.ts new file mode 100644 index 00000000000..d8241c20409 --- /dev/null +++ b/apps/demo-fuels/src/usage.ts @@ -0,0 +1,19 @@ + +import { Wallet } from 'fuels'; + +import { Sample } from './Sample'; +import { SampleFactory } from './SampleFactory'; + +const PVT_KEY = "asdfasdf"; + +const wallet = Wallet.fromPrivateKey(PVT_KEY); + +// Deploy +const { waitForResult } = await SampleFactory.deploy(wallet); +const { contract: deployedContract } = await waitForResult(); + +// Instantiate +const contractInstance = new Sample(deployedContract.id, wallet); + + +expect(contractInstance.id).toEqual(deployedContract.id); From a1c140a9f057fe7d0a505b31905b6c1bbdbacab6 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sun, 21 Jul 2024 15:20:48 -0300 Subject: [PATCH 15/95] No more need for `factories` directory --- packages/abi-typegen/src/runTypegen.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/abi-typegen/src/runTypegen.ts b/packages/abi-typegen/src/runTypegen.ts index 63b38d6542f..f13becd5574 100644 --- a/packages/abi-typegen/src/runTypegen.ts +++ b/packages/abi-typegen/src/runTypegen.ts @@ -83,7 +83,7 @@ export function runTypegen(params: IGenerateFilesParams) { */ log('Generating files..\n'); - mkdirp.sync(`${output}/factories`); + mkdirp.sync(`${output}`); abiTypeGen.files.forEach((file) => { rimrafSync(file.path); From baa8a9578b55f284fddcef4adbcb752fbd544fc8 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sun, 21 Jul 2024 15:32:13 -0300 Subject: [PATCH 16/95] Re-shaping Scripts & Predicates - from `factory` to `main` --- .../predicate/{factory.hbs => main.hbs} | 20 +++++++++---------- .../{factory.test.ts => main.test.ts} | 12 ++++++----- .../predicate/{factory.ts => main.ts} | 6 +++--- .../script/{factory.hbs => main.hbs} | 17 ++++++++-------- .../script/{factory.test.ts => main.test.ts} | 12 ++++++----- .../templates/script/{factory.ts => main.ts} | 6 +++--- .../src/utils/assemblePredicates.test.ts | 2 +- .../src/utils/assemblePredicates.ts | 4 ++-- .../src/utils/assembleScripts.test.ts | 2 +- .../abi-typegen/src/utils/assembleScripts.ts | 4 ++-- 10 files changed, 43 insertions(+), 42 deletions(-) rename packages/abi-typegen/src/templates/predicate/{factory.hbs => main.hbs} (78%) rename packages/abi-typegen/src/templates/predicate/{factory.test.ts => main.test.ts} (87%) rename packages/abi-typegen/src/templates/predicate/{factory.ts => main.ts} (91%) rename packages/abi-typegen/src/templates/script/{factory.hbs => main.hbs} (85%) rename packages/abi-typegen/src/templates/script/{factory.test.ts => main.test.ts} (87%) rename packages/abi-typegen/src/templates/script/{factory.ts => main.ts} (91%) diff --git a/packages/abi-typegen/src/templates/predicate/factory.hbs b/packages/abi-typegen/src/templates/predicate/main.hbs similarity index 78% rename from packages/abi-typegen/src/templates/predicate/factory.hbs rename to packages/abi-typegen/src/templates/predicate/main.hbs index eb141ba7164..d844ed862bc 100644 --- a/packages/abi-typegen/src/templates/predicate/factory.hbs +++ b/packages/abi-typegen/src/templates/predicate/main.hbs @@ -48,27 +48,25 @@ export type {{capitalizedName}}Configurables = { export type {{capitalizedName}}Inputs = [{{inputs}}]; -const _abi = {{abiJsonString}} +const abi = {{abiJsonString}}; -const _bin = '{{hexlifiedBinString}}' +const bin = '{{hexlifiedBinString}}'; -export const {{capitalizedName}} = { +export class {{capitalizedName}} extends Predicate { - abi: _abi, - bin: _bin, + public static abi = abi; + public static bin = bin; - createInstance(provider: Provider, predicateData?: {{capitalizedName}}Inputs, configurables?: {{capitalizedName}}Configurables) { + create(provider: Provider, predicateData?: {{capitalizedName}}Inputs, configurables?: {{capitalizedName}}Configurables) { - const predicate = new Predicate<{{capitalizedName}}Inputs>({ - bytecode: _bin, - abi: _abi, + super({ + abi: abi, + bytecode: bin, provider, inputData: predicateData, configurableConstants: configurables, }) return predicate; - } - } diff --git a/packages/abi-typegen/src/templates/predicate/factory.test.ts b/packages/abi-typegen/src/templates/predicate/main.test.ts similarity index 87% rename from packages/abi-typegen/src/templates/predicate/factory.test.ts rename to packages/abi-typegen/src/templates/predicate/main.test.ts index 7d5e0e91d01..3b44cbb498a 100644 --- a/packages/abi-typegen/src/templates/predicate/factory.test.ts +++ b/packages/abi-typegen/src/templates/predicate/main.test.ts @@ -10,7 +10,7 @@ import { mockVersions } from '../../../test/utils/mockVersions'; import { Abi } from '../../abi/Abi'; import { ProgramTypeEnum } from '../../types/enums/ProgramTypeEnum'; -import { renderFactoryTemplate } from './factory'; +import { renderMainTemplate } from './main'; /** * @group node @@ -31,7 +31,7 @@ describe('factory.ts', () => { programType: ProgramTypeEnum.PREDICATE, }); - const rendered = renderFactoryTemplate({ abi }); + const rendered = renderMainTemplate({ abi }); restore(); @@ -53,7 +53,7 @@ describe('factory.ts', () => { programType: ProgramTypeEnum.PREDICATE, }); - const rendered = renderFactoryTemplate({ abi }); + const rendered = renderMainTemplate({ abi }); restore(); @@ -66,7 +66,9 @@ describe('factory.ts', () => { const project = getTypegenForcProject(AbiTypegenProjectsEnum.PREDICATE); const rawContents = project.abiContents; - // friction here (deletes 'main' function by emptying the functions array) + // ALERT: friction here (emptying functions array) + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore rawContents.functions = []; const abi = new Abi({ @@ -78,7 +80,7 @@ describe('factory.ts', () => { }); const { error } = await safeExec(() => { - renderFactoryTemplate({ abi }); + renderMainTemplate({ abi }); }); expect(error?.message).toMatch(/ABI doesn't have a 'main\(\)' method/); diff --git a/packages/abi-typegen/src/templates/predicate/factory.ts b/packages/abi-typegen/src/templates/predicate/main.ts similarity index 91% rename from packages/abi-typegen/src/templates/predicate/factory.ts rename to packages/abi-typegen/src/templates/predicate/main.ts index f91239c98d0..fbe6f555803 100644 --- a/packages/abi-typegen/src/templates/predicate/factory.ts +++ b/packages/abi-typegen/src/templates/predicate/main.ts @@ -7,9 +7,9 @@ import { formatEnums } from '../utils/formatEnums'; import { formatImports } from '../utils/formatImports'; import { formatStructs } from '../utils/formatStructs'; -import factoryTemplate from './factory.hbs'; +import mainTemplate from './main.hbs'; -export function renderFactoryTemplate(params: { abi: Abi }) { +export function renderMainTemplate(params: { abi: Abi }) { const { abi } = params; const { types, configurables } = abi; @@ -40,7 +40,7 @@ export function renderFactoryTemplate(params: { abi: Abi }) { const { prefixedInputs: inputs, output } = func.attributes; const text = renderHbsTemplate({ - template: factoryTemplate, + template: mainTemplate, data: { inputs, output, diff --git a/packages/abi-typegen/src/templates/script/factory.hbs b/packages/abi-typegen/src/templates/script/main.hbs similarity index 85% rename from packages/abi-typegen/src/templates/script/factory.hbs rename to packages/abi-typegen/src/templates/script/main.hbs index 18112ef048d..68201e84fb8 100644 --- a/packages/abi-typegen/src/templates/script/factory.hbs +++ b/packages/abi-typegen/src/templates/script/main.hbs @@ -51,24 +51,23 @@ export type {{capitalizedName}}Configurables = { }; {{/if}} -const _abi = {{abiJsonString}} +const abi = {{abiJsonString}}; -const _bin = '{{hexlifiedBinString}}' +const bin = '{{hexlifiedBinString}}'; -export const {{capitalizedName}} = { +export class {{capitalizedName}} extends Script { - abi: _abi, - bin: _bin, + public static abi = abi; + public static bin = bin; - createInstance(wallet: Account) { + consrtuctor(wallet: Account) { - const script = new Script< + super< {{capitalizedName}}Inputs, {{capitalizedName}}Output - >(_bin, _abi, wallet); + >(bin, abi, wallet); return script; - } } diff --git a/packages/abi-typegen/src/templates/script/factory.test.ts b/packages/abi-typegen/src/templates/script/main.test.ts similarity index 87% rename from packages/abi-typegen/src/templates/script/factory.test.ts rename to packages/abi-typegen/src/templates/script/main.test.ts index 0267d01492a..e1550b62a30 100644 --- a/packages/abi-typegen/src/templates/script/factory.test.ts +++ b/packages/abi-typegen/src/templates/script/main.test.ts @@ -10,7 +10,7 @@ import { mockVersions } from '../../../test/utils/mockVersions'; import { Abi } from '../../abi/Abi'; import { ProgramTypeEnum } from '../../types/enums/ProgramTypeEnum'; -import { renderFactoryTemplate } from './factory'; +import { renderMainTemplate } from './main'; /** * @group node @@ -30,7 +30,7 @@ describe('factory.ts', () => { programType: ProgramTypeEnum.SCRIPT, }); - const rendered = renderFactoryTemplate({ abi }); + const rendered = renderMainTemplate({ abi }); restore(); @@ -51,7 +51,7 @@ describe('factory.ts', () => { programType: ProgramTypeEnum.SCRIPT, }); - const rendered = renderFactoryTemplate({ abi }); + const rendered = renderMainTemplate({ abi }); restore(); @@ -64,7 +64,9 @@ describe('factory.ts', () => { const project = getTypegenForcProject(AbiTypegenProjectsEnum.SCRIPT); const rawContents = project.abiContents; - // friction here (deletes 'main' function by emptying the functions array) + // ALERT: friction here (emptying functions array) + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore rawContents.functions = []; const abi = new Abi({ @@ -76,7 +78,7 @@ describe('factory.ts', () => { }); const { error } = await safeExec(() => { - renderFactoryTemplate({ abi }); + renderMainTemplate({ abi }); }); restore(); diff --git a/packages/abi-typegen/src/templates/script/factory.ts b/packages/abi-typegen/src/templates/script/main.ts similarity index 91% rename from packages/abi-typegen/src/templates/script/factory.ts rename to packages/abi-typegen/src/templates/script/main.ts index bb160a35d12..071277e8635 100644 --- a/packages/abi-typegen/src/templates/script/factory.ts +++ b/packages/abi-typegen/src/templates/script/main.ts @@ -7,9 +7,9 @@ import { formatEnums } from '../utils/formatEnums'; import { formatImports } from '../utils/formatImports'; import { formatStructs } from '../utils/formatStructs'; -import factoryTemplate from './factory.hbs'; +import mainTemplate from './main.hbs'; -export function renderFactoryTemplate(params: { abi: Abi }) { +export function renderMainTemplate(params: { abi: Abi }) { const { abi } = params; const { types, configurables } = abi; @@ -37,7 +37,7 @@ export function renderFactoryTemplate(params: { abi: Abi }) { const { prefixedInputs: inputs, output } = func.attributes; const text = renderHbsTemplate({ - template: factoryTemplate, + template: mainTemplate, data: { inputs, output, diff --git a/packages/abi-typegen/src/utils/assemblePredicates.test.ts b/packages/abi-typegen/src/utils/assemblePredicates.test.ts index 603d87a9ec1..b1aae393406 100644 --- a/packages/abi-typegen/src/utils/assemblePredicates.test.ts +++ b/packages/abi-typegen/src/utils/assemblePredicates.test.ts @@ -1,7 +1,7 @@ import { getNewAbiTypegen } from '../../test/utils/getNewAbiTypegen'; import * as renderCommonTemplateMod from '../templates/common/common'; import * as renderIndexTemplateMod from '../templates/common/index'; -import * as renderFactoryTemplateMod from '../templates/predicate/factory'; +import * as renderFactoryTemplateMod from '../templates/predicate/main'; import { ProgramTypeEnum } from '../types/enums/ProgramTypeEnum'; import { assemblePredicates } from './assemblePredicates'; diff --git a/packages/abi-typegen/src/utils/assemblePredicates.ts b/packages/abi-typegen/src/utils/assemblePredicates.ts index 393da5130d8..34446ea29d2 100644 --- a/packages/abi-typegen/src/utils/assemblePredicates.ts +++ b/packages/abi-typegen/src/utils/assemblePredicates.ts @@ -4,7 +4,7 @@ import type { Abi } from '../abi/Abi'; import type { IFile } from '../index'; import { renderCommonTemplate } from '../templates/common/common'; import { renderIndexTemplate } from '../templates/common/index'; -import { renderFactoryTemplate } from '../templates/predicate/factory'; +import { renderMainTemplate } from '../templates/predicate/main'; /** * Render all Predicate-related templates and returns @@ -24,7 +24,7 @@ export function assemblePredicates(params: { abis: Abi[]; outputDir: string }) { const factory: IFile = { path: factoryFilepath, - contents: renderFactoryTemplate({ abi }), + contents: renderMainTemplate({ abi }), }; files.push(factory); diff --git a/packages/abi-typegen/src/utils/assembleScripts.test.ts b/packages/abi-typegen/src/utils/assembleScripts.test.ts index d7cdfbb942c..d61016f943b 100644 --- a/packages/abi-typegen/src/utils/assembleScripts.test.ts +++ b/packages/abi-typegen/src/utils/assembleScripts.test.ts @@ -1,7 +1,7 @@ import { getNewAbiTypegen } from '../../test/utils/getNewAbiTypegen'; import * as renderCommonTemplateMod from '../templates/common/common'; import * as renderIndexTemplateMod from '../templates/common/index'; -import * as renderFactoryTemplateMod from '../templates/script/factory'; +import * as renderFactoryTemplateMod from '../templates/script/main'; import { ProgramTypeEnum } from '../types/enums/ProgramTypeEnum'; import { assembleScripts } from './assembleScripts'; diff --git a/packages/abi-typegen/src/utils/assembleScripts.ts b/packages/abi-typegen/src/utils/assembleScripts.ts index b01e73c443f..f4cc05b3a95 100644 --- a/packages/abi-typegen/src/utils/assembleScripts.ts +++ b/packages/abi-typegen/src/utils/assembleScripts.ts @@ -4,7 +4,7 @@ import type { Abi } from '../abi/Abi'; import type { IFile } from '../index'; import { renderCommonTemplate } from '../templates/common/common'; import { renderIndexTemplate } from '../templates/common/index'; -import { renderFactoryTemplate } from '../templates/script/factory'; +import { renderMainTemplate } from '../templates/script/main'; /** * Render all Script-related templates and returns @@ -24,7 +24,7 @@ export function assembleScripts(params: { abis: Abi[]; outputDir: string }) { const factory: IFile = { path: factoryFilepath, - contents: renderFactoryTemplate({ abi }), + contents: renderMainTemplate({ abi }), }; files.push(factory); From 6287672f944767be1a1a023056fe4cd4980f4dab Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sun, 21 Jul 2024 15:38:04 -0300 Subject: [PATCH 17/95] Adding test script --- packages/abi-typegen/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/abi-typegen/package.json b/packages/abi-typegen/package.json index dc5415a170c..07f9eca6a5f 100644 --- a/packages/abi-typegen/package.json +++ b/packages/abi-typegen/package.json @@ -44,6 +44,7 @@ ], "scripts": { "pretest": "run-s build:forc-callpaths build:forc", + "test": "cd ../.. && pnpm test:filter packages/abi-typegen", "build": "tsup", "build:forc": "pnpm fuels-forc build -p test/fixtures/forc-projects --release", "build:forc-callpaths": "pnpm fuels-forc build -p test/fixtures/forc-projects --json-abi-with-callpaths", From e35aed0501fe625a2780be56ae2d05a141c929ac Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sun, 21 Jul 2024 16:15:23 -0300 Subject: [PATCH 18/95] Rwefactoring Script and Predicate templates --- packages/abi-typegen/src/runTypegen.test.ts | 27 +- .../src/templates/common/common.hbs | 6 +- .../src/templates/common/index.test.ts | 4 +- .../contract/{dts.test.ts => main.test.ts} | 37 +- .../src/templates/predicate/main.hbs | 17 +- .../src/templates/predicate/main.test.ts | 14 +- .../src/templates/renderHbsTemplate.test.ts | 2 - .../abi-typegen/src/templates/script/main.hbs | 14 +- .../src/templates/script/main.test.ts | 14 +- .../src/utils/assembleContracts.test.ts | 4 +- .../src/utils/assemblePredicates.test.ts | 16 +- .../src/utils/assemblePredicates.ts | 2 +- .../src/utils/assembleScripts.test.ts | 16 +- .../abi-typegen/src/utils/assembleScripts.ts | 2 +- .../fixtures/templates/common/_header.hbs | 3 - .../test/fixtures/templates/common/common.hbs | 3 - .../contract-with-configurable/dts.hbs | 36 - .../contract-with-configurable/main.hbs | 102 ++ .../fixtures/templates/contract/bytecode.hbs | 12 - .../test/fixtures/templates/contract/dts.hbs | 139 -- .../fixtures/templates/contract/factory.hbs | 87 +- .../fixtures/templates/contract/index.hbs | 8 +- .../test/fixtures/templates/contract/main.hbs | 1426 +++++++++++++++++ .../predicate-with-configurable/index.hbs | 7 +- .../{factory.hbs => main.hbs} | 34 +- .../fixtures/templates/predicate/index.hbs | 7 +- .../predicate/{factory.hbs => main.hbs} | 34 +- .../{factory.hbs => main.hbs} | 36 +- .../script/{factory.hbs => main.hbs} | 34 +- 29 files changed, 1678 insertions(+), 465 deletions(-) rename packages/abi-typegen/src/templates/contract/{dts.test.ts => main.test.ts} (73%) delete mode 100644 packages/abi-typegen/test/fixtures/templates/contract-with-configurable/dts.hbs create mode 100644 packages/abi-typegen/test/fixtures/templates/contract-with-configurable/main.hbs delete mode 100644 packages/abi-typegen/test/fixtures/templates/contract/bytecode.hbs delete mode 100644 packages/abi-typegen/test/fixtures/templates/contract/dts.hbs create mode 100644 packages/abi-typegen/test/fixtures/templates/contract/main.hbs rename packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/{factory.hbs => main.hbs} (74%) rename packages/abi-typegen/test/fixtures/templates/predicate/{factory.hbs => main.hbs} (89%) rename packages/abi-typegen/test/fixtures/templates/script-with-configurable/{factory.hbs => main.hbs} (77%) rename packages/abi-typegen/test/fixtures/templates/script/{factory.hbs => main.hbs} (91%) diff --git a/packages/abi-typegen/src/runTypegen.test.ts b/packages/abi-typegen/src/runTypegen.test.ts index f1a356c8f86..2ea943f2c98 100644 --- a/packages/abi-typegen/src/runTypegen.test.ts +++ b/packages/abi-typegen/src/runTypegen.test.ts @@ -58,14 +58,11 @@ describe('runTypegen.js', () => { const files = [ join(output, 'index.ts'), join(output, 'common.d.ts'), - join(output, `${normalizedName}Abi.d.ts`), - join(output, `${normalizedName}2Abi.d.ts`), - join(output, 'factories', `${normalizedName}Abi.ts`), - join(output, `${normalizedName}Abi.hex.ts`), - join(output, `${normalizedName}2Abi.hex.ts`), + join(output, `${normalizedName}.ts`), + join(output, `${normalizedName}Factory.ts`), ]; - expect(files.length).toEqual(7); + expect(files.length).toEqual(4); files.forEach((f) => { expect(existsSync(f)).toEqual(true); @@ -105,12 +102,11 @@ describe('runTypegen.js', () => { const files = [ join(output, 'index.ts'), join(output, 'common.d.ts'), - join(output, `${normalizedName}Abi.d.ts`), - join(output, 'factories', `${normalizedName}Abi.ts`), - join(output, `${normalizedName}Abi.hex.ts`), + join(output, `${normalizedName}.ts`), + join(output, `${normalizedName}Factory.ts`), ]; - expect(files.length).toEqual(5); + expect(files.length).toEqual(4); files.forEach((f) => { expect(existsSync(f)).toEqual(true); @@ -147,7 +143,7 @@ describe('runTypegen.js', () => { expect(error).toBeFalsy(); // check if all files were created - const files = [join(output, 'index.ts'), join(output, 'factories', `${normalizedName}Abi.ts`)]; + const files = [join(output, 'index.ts'), join(output, `${normalizedName}.ts`)]; expect(files.length).toEqual(2); @@ -297,14 +293,11 @@ describe('runTypegen.js', () => { const files = [ join(output, 'index.ts'), join(output, 'common.d.ts'), - join(output, `${normalizedName}Abi.d.ts`), - join(output, `${normalizedName}2Abi.d.ts`), - join(output, 'factories', `${normalizedName}Abi.ts`), - join(output, `${normalizedName}Abi.hex.ts`), - join(output, `${normalizedName}2Abi.hex.ts`), + join(output, `${normalizedName}.ts`), + join(output, `${normalizedName}Factory.ts`), ]; - expect(files.length).toEqual(7); + expect(files.length).toEqual(4); files.forEach((f) => { expect(existsSync(f)).toEqual(true); diff --git a/packages/abi-typegen/src/templates/common/common.hbs b/packages/abi-typegen/src/templates/common/common.hbs index 2569534cf90..45090e0eed3 100644 --- a/packages/abi-typegen/src/templates/common/common.hbs +++ b/packages/abi-typegen/src/templates/common/common.hbs @@ -16,8 +16,8 @@ export type Option = T | undefined; export type Vec = T[]; -/** +/** * Mimics Sway Result enum type. * Ok represents the success case, while Err represents the error case. - */ - export type Result = Enum<{Ok: T, Err: E}>; \ No newline at end of file + */ + export type Result = Enum<{Ok: T, Err: E}>; diff --git a/packages/abi-typegen/src/templates/common/index.test.ts b/packages/abi-typegen/src/templates/common/index.test.ts index b313c742ffd..e5f85e35a4f 100644 --- a/packages/abi-typegen/src/templates/common/index.test.ts +++ b/packages/abi-typegen/src/templates/common/index.test.ts @@ -34,7 +34,7 @@ describe('templates/index', () => { // validating restore(); - expect(rendered).toEqual(contractIndexTemplate); + expect(rendered.trim()).toEqual(contractIndexTemplate.trim()); }); test('should render index template for predicates', () => { @@ -57,6 +57,6 @@ describe('templates/index', () => { // validating restore(); - expect(rendered).toEqual(predicateIndexTemplate); + expect(rendered.trim()).toEqual(predicateIndexTemplate.trim()); }); }); diff --git a/packages/abi-typegen/src/templates/contract/dts.test.ts b/packages/abi-typegen/src/templates/contract/main.test.ts similarity index 73% rename from packages/abi-typegen/src/templates/contract/dts.test.ts rename to packages/abi-typegen/src/templates/contract/main.test.ts index 37311973429..fadcdf57efa 100644 --- a/packages/abi-typegen/src/templates/contract/dts.test.ts +++ b/packages/abi-typegen/src/templates/contract/main.test.ts @@ -1,28 +1,28 @@ +import { writeFileSync } from 'fs'; +import { join } from 'path'; + import { AbiTypegenProjectsEnum, getTypegenForcProject, } from '../../../test/fixtures/forc-projects/index'; -import expectedDtsFullTemplate from '../../../test/fixtures/templates/contract/dts.hbs'; -import expectedDtsMinimalConfigurableTemplate from '../../../test/fixtures/templates/contract-with-configurable/dts.hbs'; +import expectedMainFullTemplate from '../../../test/fixtures/templates/contract/main.hbs'; +import expectedMainMinimalConfigurableTemplate from '../../../test/fixtures/templates/contract-with-configurable/main.hbs'; import { mockVersions } from '../../../test/utils/mockVersions'; import { Abi } from '../../abi/Abi'; import { ProgramTypeEnum } from '../../types/enums/ProgramTypeEnum'; -import { renderDtsTemplate } from './dts'; +import { renderMainTemplate } from './main'; /** * @group node */ describe('templates/dts', () => { - test.each(['debug', 'release'])('should render dts template', (build) => { + test('should render main template', () => { // mocking const { restore } = mockVersions(); // executing - const project = getTypegenForcProject( - AbiTypegenProjectsEnum.FULL, - build as 'release' | 'debug' - ); + const project = getTypegenForcProject(AbiTypegenProjectsEnum.FULL); const { abiContents: rawContents } = project; const abi = new Abi({ @@ -32,15 +32,14 @@ describe('templates/dts', () => { programType: ProgramTypeEnum.CONTRACT, }); - const rendered = renderDtsTemplate({ abi }); - + const rendered = renderMainTemplate({ abi }); // validating restore(); - expect(rendered).toEqual(expectedDtsFullTemplate); + expect(rendered).toEqual(expectedMainFullTemplate); }); - test('should render dts template with configurable', () => { + test('should render main template with configurable', () => { const { restore } = mockVersions(); const project = getTypegenForcProject(AbiTypegenProjectsEnum.MINIMAL_WITH_CONFIGURABLE); @@ -54,14 +53,14 @@ describe('templates/dts', () => { programType: ProgramTypeEnum.CONTRACT, }); - const rendered = renderDtsTemplate({ abi }); + const rendered = renderMainTemplate({ abi }); restore(); - expect(rendered).toEqual(expectedDtsMinimalConfigurableTemplate); + expect(rendered).toEqual(expectedMainMinimalConfigurableTemplate); }); - test('should render dts template w/ custom common types', () => { + test('should render main template w/ custom common types', () => { const project = getTypegenForcProject(AbiTypegenProjectsEnum.VECTOR_SIMPLE); const { abiContents: rawContents } = project; @@ -72,7 +71,7 @@ describe('templates/dts', () => { programType: ProgramTypeEnum.CONTRACT, }); - const rendered = renderDtsTemplate({ abi }); + const rendered = renderMainTemplate({ abi }); expect(rendered).toMatch(/^import type.+from ".\/common";$/m); }); @@ -87,7 +86,7 @@ describe('templates/dts', () => { programType: ProgramTypeEnum.CONTRACT, }); - const rendered = renderDtsTemplate({ abi }); + const rendered = renderMainTemplate({ abi }); expect(rendered).toMatch(/export type StructBOutput = StructBInput;$/m); }); @@ -102,7 +101,7 @@ describe('templates/dts', () => { programType: ProgramTypeEnum.CONTRACT, }); - const rendered = renderDtsTemplate({ abi }); + const rendered = renderMainTemplate({ abi }); expect(rendered).toMatch(/export type MyEnumOutput = MyEnumInput;$/m); }); @@ -117,7 +116,7 @@ describe('templates/dts', () => { programType: ProgramTypeEnum.CONTRACT, }); - const rendered = renderDtsTemplate({ abi }); + const rendered = renderMainTemplate({ abi }); expect(rendered).toMatch( /export enum MyEnumOutput { Checked = 'Checked', Pending = 'Pending' };$/m ); diff --git a/packages/abi-typegen/src/templates/predicate/main.hbs b/packages/abi-typegen/src/templates/predicate/main.hbs index d844ed862bc..5564e4ac312 100644 --- a/packages/abi-typegen/src/templates/predicate/main.hbs +++ b/packages/abi-typegen/src/templates/predicate/main.hbs @@ -50,23 +50,20 @@ export type {{capitalizedName}}Inputs = [{{inputs}}]; const abi = {{abiJsonString}}; -const bin = '{{hexlifiedBinString}}'; +const bytecode = '{{hexlifiedBinString}}'; export class {{capitalizedName}} extends Predicate { - public static abi = abi; - public static bin = bin; - - create(provider: Provider, predicateData?: {{capitalizedName}}Inputs, configurables?: {{capitalizedName}}Configurables) { + static readonly abi = abi; + static readonly bytecode = bytecode; + constructor(provider: Provider, predicateData?: {{capitalizedName}}Inputs, configurables?: {{capitalizedName}}Configurables) { super({ - abi: abi, - bytecode: bin, + abi, + bytecode, provider, inputData: predicateData, configurableConstants: configurables, - }) - - return predicate; + }); } } diff --git a/packages/abi-typegen/src/templates/predicate/main.test.ts b/packages/abi-typegen/src/templates/predicate/main.test.ts index 3b44cbb498a..128f86ba43e 100644 --- a/packages/abi-typegen/src/templates/predicate/main.test.ts +++ b/packages/abi-typegen/src/templates/predicate/main.test.ts @@ -4,8 +4,8 @@ import { AbiTypegenProjectsEnum, getTypegenForcProject, } from '../../../test/fixtures/forc-projects/index'; -import factoryTemplate from '../../../test/fixtures/templates/predicate/factory.hbs'; -import factoryWithConfigurablesTemplate from '../../../test/fixtures/templates/predicate-with-configurable/factory.hbs'; +import mainTemplate from '../../../test/fixtures/templates/predicate/main.hbs'; +import mainWithConfigurablesTemplate from '../../../test/fixtures/templates/predicate-with-configurable/main.hbs'; import { mockVersions } from '../../../test/utils/mockVersions'; import { Abi } from '../../abi/Abi'; import { ProgramTypeEnum } from '../../types/enums/ProgramTypeEnum'; @@ -15,8 +15,8 @@ import { renderMainTemplate } from './main'; /** * @group node */ -describe('factory.ts', () => { - test('should render factory template', () => { +describe('main.ts', () => { + test('should render main template', () => { const { restore } = mockVersions(); const project = getTypegenForcProject(AbiTypegenProjectsEnum.PREDICATE); @@ -35,10 +35,10 @@ describe('factory.ts', () => { restore(); - expect(rendered).toEqual(factoryTemplate); + expect(rendered).toEqual(mainTemplate); }); - test('should render factory template with configurable', () => { + test('should render main template with configurable', () => { const { restore } = mockVersions(); const project = getTypegenForcProject(AbiTypegenProjectsEnum.PREDICATE_WITH_CONFIGURABLE); @@ -57,7 +57,7 @@ describe('factory.ts', () => { restore(); - expect(rendered).toEqual(factoryWithConfigurablesTemplate); + expect(rendered).toEqual(mainWithConfigurablesTemplate); }); test('should throw for invalid Predicate ABI', async () => { diff --git a/packages/abi-typegen/src/templates/renderHbsTemplate.test.ts b/packages/abi-typegen/src/templates/renderHbsTemplate.test.ts index d1e0633ff8f..ce7f1d70beb 100644 --- a/packages/abi-typegen/src/templates/renderHbsTemplate.test.ts +++ b/packages/abi-typegen/src/templates/renderHbsTemplate.test.ts @@ -19,8 +19,6 @@ describe('renderHbsTemplate.ts', () => { restore(); expect(rendered).toMatch(/Autogenerated file/g); - expect(rendered).toMatch(/tslint:disable/g); - expect(rendered).toMatch(/eslint-disable/g); expect(rendered).toMatch(new RegExp(`Fuels version: ${versions.FUELS}`, 'gm')); expect(rendered).toMatch(new RegExp(`Forc version: ${versions.FORC}`, 'gm')); expect(rendered).toMatch(new RegExp(`Fuel-Core version: ${versions.FUEL_CORE}`, 'gm')); diff --git a/packages/abi-typegen/src/templates/script/main.hbs b/packages/abi-typegen/src/templates/script/main.hbs index 68201e84fb8..0da473c47ea 100644 --- a/packages/abi-typegen/src/templates/script/main.hbs +++ b/packages/abi-typegen/src/templates/script/main.hbs @@ -53,21 +53,17 @@ export type {{capitalizedName}}Configurables = { const abi = {{abiJsonString}}; -const bin = '{{hexlifiedBinString}}'; +const bytecode = '{{hexlifiedBinString}}'; export class {{capitalizedName}} extends Script { - public static abi = abi; - public static bin = bin; - - consrtuctor(wallet: Account) { + static readonly abi = abi; + static readonly bytecode = bytecode; + constructor(wallet: Account) { super< {{capitalizedName}}Inputs, {{capitalizedName}}Output - >(bin, abi, wallet); - - return script; + >(bytecode, abi, wallet); } - } diff --git a/packages/abi-typegen/src/templates/script/main.test.ts b/packages/abi-typegen/src/templates/script/main.test.ts index e1550b62a30..3a165e3d660 100644 --- a/packages/abi-typegen/src/templates/script/main.test.ts +++ b/packages/abi-typegen/src/templates/script/main.test.ts @@ -4,8 +4,8 @@ import { AbiTypegenProjectsEnum, getTypegenForcProject, } from '../../../test/fixtures/forc-projects/index'; -import factoryTemplate from '../../../test/fixtures/templates/script/factory.hbs'; -import factoryTemplateWithConfigurables from '../../../test/fixtures/templates/script-with-configurable/factory.hbs'; +import mainTemplate from '../../../test/fixtures/templates/script/main.hbs'; +import mainTemplateWithConfigurables from '../../../test/fixtures/templates/script-with-configurable/main.hbs'; import { mockVersions } from '../../../test/utils/mockVersions'; import { Abi } from '../../abi/Abi'; import { ProgramTypeEnum } from '../../types/enums/ProgramTypeEnum'; @@ -15,8 +15,8 @@ import { renderMainTemplate } from './main'; /** * @group node */ -describe('factory.ts', () => { - test('should render factory template', () => { +describe('main.ts', () => { + test('should render main template', () => { const { restore } = mockVersions(); const project = getTypegenForcProject(AbiTypegenProjectsEnum.SCRIPT); @@ -34,10 +34,10 @@ describe('factory.ts', () => { restore(); - expect(rendered).toEqual(factoryTemplate); + expect(rendered).toEqual(mainTemplate); }); - test('should render factory template with configurables', () => { + test('should render main template with configurables', () => { const { restore } = mockVersions(); const project = getTypegenForcProject(AbiTypegenProjectsEnum.SCRIPT_WITH_CONFIGURABLE); @@ -55,7 +55,7 @@ describe('factory.ts', () => { restore(); - expect(rendered).toEqual(factoryTemplateWithConfigurables); + expect(rendered).toEqual(mainTemplateWithConfigurables); }); test('should throw for invalid Script ABI', async () => { diff --git a/packages/abi-typegen/src/utils/assembleContracts.test.ts b/packages/abi-typegen/src/utils/assembleContracts.test.ts index 1530d4915ea..8cf5649e3aa 100644 --- a/packages/abi-typegen/src/utils/assembleContracts.test.ts +++ b/packages/abi-typegen/src/utils/assembleContracts.test.ts @@ -44,7 +44,7 @@ describe('assembleContracts.ts', () => { const files = assembleContracts({ abis, outputDir }); - expect(files.length).toEqual(7); // 2x dts, 2x factories, 1x index, 2x hex.ts (no `common`) + expect(files.length).toEqual(5); // 2x main, 2x factory, 1x index expect(renderCommonTemplate).toHaveBeenCalledTimes(0); expect(renderFactoryTemplate).toHaveBeenCalledTimes(2); @@ -63,7 +63,7 @@ describe('assembleContracts.ts', () => { const files = assembleContracts({ abis, outputDir }); - expect(files.length).toEqual(8); // 2x dts, 2x factories, 1x index, 1x common, 2x hex.ts + expect(files.length).toEqual(6); // 2x main, 2x factory, 1x index, 1x common expect(renderCommonTemplate).toHaveBeenCalledTimes(1); // must have been called expect(renderFactoryTemplate).toHaveBeenCalledTimes(2); diff --git a/packages/abi-typegen/src/utils/assemblePredicates.test.ts b/packages/abi-typegen/src/utils/assemblePredicates.test.ts index b1aae393406..b908ce6d466 100644 --- a/packages/abi-typegen/src/utils/assemblePredicates.test.ts +++ b/packages/abi-typegen/src/utils/assemblePredicates.test.ts @@ -1,7 +1,7 @@ import { getNewAbiTypegen } from '../../test/utils/getNewAbiTypegen'; import * as renderCommonTemplateMod from '../templates/common/common'; import * as renderIndexTemplateMod from '../templates/common/index'; -import * as renderFactoryTemplateMod from '../templates/predicate/main'; +import * as renderMainTemplateMod from '../templates/predicate/main'; import { ProgramTypeEnum } from '../types/enums/ProgramTypeEnum'; import { assemblePredicates } from './assemblePredicates'; @@ -15,8 +15,8 @@ describe('assemblePredicates.ts', () => { .spyOn(renderCommonTemplateMod, 'renderCommonTemplate') .mockImplementation(vi.fn().mockResolvedValue('')); - const renderFactoryTemplate = vi - .spyOn(renderFactoryTemplateMod, 'renderFactoryTemplate') + const renderMainTemplate = vi + .spyOn(renderMainTemplateMod, 'renderMainTemplate') .mockImplementation(vi.fn().mockResolvedValue('')); const renderIndexTemplate = vi @@ -25,7 +25,7 @@ describe('assemblePredicates.ts', () => { return { renderCommonTemplate, - renderFactoryTemplate, + renderMainTemplate, renderIndexTemplate, }; } @@ -39,7 +39,7 @@ describe('assemblePredicates.ts', () => { }); test('should assemble all files from Predicate ABI ', () => { - const { renderCommonTemplate, renderFactoryTemplate, renderIndexTemplate } = mockAllDeps(); + const { renderCommonTemplate, renderMainTemplate, renderIndexTemplate } = mockAllDeps(); const { typegen: { abis, outputDir }, @@ -57,12 +57,12 @@ describe('assemblePredicates.ts', () => { expect(files.length).toEqual(3); // 2x factories, 1x index expect(renderCommonTemplate).toHaveBeenCalledTimes(0); // never called - expect(renderFactoryTemplate).toHaveBeenCalledTimes(2); + expect(renderMainTemplate).toHaveBeenCalledTimes(2); expect(renderIndexTemplate).toHaveBeenCalledTimes(1); }); test('should assemble all files from Predicate ABI, including `common` file', () => { - const { renderCommonTemplate, renderFactoryTemplate, renderIndexTemplate } = mockAllDeps(); + const { renderCommonTemplate, renderMainTemplate, renderIndexTemplate } = mockAllDeps(); const { typegen: { abis, outputDir }, @@ -80,7 +80,7 @@ describe('assemblePredicates.ts', () => { expect(files.length).toEqual(4); // 2x factories, 1x index, 1x common expect(renderCommonTemplate).toHaveBeenCalledTimes(1); // called once - expect(renderFactoryTemplate).toHaveBeenCalledTimes(2); + expect(renderMainTemplate).toHaveBeenCalledTimes(2); expect(renderIndexTemplate).toHaveBeenCalledTimes(1); }); }); diff --git a/packages/abi-typegen/src/utils/assemblePredicates.ts b/packages/abi-typegen/src/utils/assemblePredicates.ts index 34446ea29d2..aff43e4809e 100644 --- a/packages/abi-typegen/src/utils/assemblePredicates.ts +++ b/packages/abi-typegen/src/utils/assemblePredicates.ts @@ -20,7 +20,7 @@ export function assemblePredicates(params: { abis: Abi[]; outputDir: string }) { abis.forEach((abi) => { const { capitalizedName: name } = abi; - const factoryFilepath = `${outputDir}/factories/${name}.ts`; + const factoryFilepath = `${outputDir}/${name}.ts`; const factory: IFile = { path: factoryFilepath, diff --git a/packages/abi-typegen/src/utils/assembleScripts.test.ts b/packages/abi-typegen/src/utils/assembleScripts.test.ts index d61016f943b..7ccfcd5ca5e 100644 --- a/packages/abi-typegen/src/utils/assembleScripts.test.ts +++ b/packages/abi-typegen/src/utils/assembleScripts.test.ts @@ -1,7 +1,7 @@ import { getNewAbiTypegen } from '../../test/utils/getNewAbiTypegen'; import * as renderCommonTemplateMod from '../templates/common/common'; import * as renderIndexTemplateMod from '../templates/common/index'; -import * as renderFactoryTemplateMod from '../templates/script/main'; +import * as renderMainTemplateMod from '../templates/script/main'; import { ProgramTypeEnum } from '../types/enums/ProgramTypeEnum'; import { assembleScripts } from './assembleScripts'; @@ -15,8 +15,8 @@ describe('assembleScripts.ts', () => { .spyOn(renderCommonTemplateMod, 'renderCommonTemplate') .mockResolvedValue(''); - const renderFactoryTemplate = vi - .spyOn(renderFactoryTemplateMod, 'renderFactoryTemplate') + const renderMainTemplate = vi + .spyOn(renderMainTemplateMod, 'renderMainTemplate') .mockResolvedValue(''); const renderIndexTemplate = vi @@ -25,7 +25,7 @@ describe('assembleScripts.ts', () => { return { renderCommonTemplate, - renderFactoryTemplate, + renderMainTemplate, renderIndexTemplate, }; } @@ -39,7 +39,7 @@ describe('assembleScripts.ts', () => { }); test('should assemble all files from Script ABI ', () => { - const { renderCommonTemplate, renderFactoryTemplate, renderIndexTemplate } = mockAllDeps(); + const { renderCommonTemplate, renderMainTemplate, renderIndexTemplate } = mockAllDeps(); const { typegen: { abis, outputDir }, @@ -57,12 +57,12 @@ describe('assembleScripts.ts', () => { expect(files.length).toEqual(3); // 2x factories, 1x index expect(renderCommonTemplate).toHaveBeenCalledTimes(0); // never called - expect(renderFactoryTemplate).toHaveBeenCalledTimes(2); + expect(renderMainTemplate).toHaveBeenCalledTimes(2); expect(renderIndexTemplate).toHaveBeenCalledTimes(1); }); test('should assemble all files from Script ABI, including `common` file', () => { - const { renderCommonTemplate, renderFactoryTemplate, renderIndexTemplate } = mockAllDeps(); + const { renderCommonTemplate, renderMainTemplate, renderIndexTemplate } = mockAllDeps(); const { typegen: { abis, outputDir }, @@ -80,7 +80,7 @@ describe('assembleScripts.ts', () => { expect(files.length).toEqual(4); // 2x factories, 1x index, 1x common expect(renderCommonTemplate).toHaveBeenCalledTimes(1); // called once - expect(renderFactoryTemplate).toHaveBeenCalledTimes(2); + expect(renderMainTemplate).toHaveBeenCalledTimes(2); expect(renderIndexTemplate).toHaveBeenCalledTimes(1); }); }); diff --git a/packages/abi-typegen/src/utils/assembleScripts.ts b/packages/abi-typegen/src/utils/assembleScripts.ts index f4cc05b3a95..9d072b17c48 100644 --- a/packages/abi-typegen/src/utils/assembleScripts.ts +++ b/packages/abi-typegen/src/utils/assembleScripts.ts @@ -20,7 +20,7 @@ export function assembleScripts(params: { abis: Abi[]; outputDir: string }) { abis.forEach((abi) => { const { capitalizedName } = abi; - const factoryFilepath = `${outputDir}/factories/${capitalizedName}.ts`; + const factoryFilepath = `${outputDir}/${capitalizedName}.ts`; const factory: IFile = { path: factoryFilepath, diff --git a/packages/abi-typegen/test/fixtures/templates/common/_header.hbs b/packages/abi-typegen/test/fixtures/templates/common/_header.hbs index ecc8785094e..d2c1a15df65 100644 --- a/packages/abi-typegen/test/fixtures/templates/common/_header.hbs +++ b/packages/abi-typegen/test/fixtures/templates/common/_header.hbs @@ -1,8 +1,5 @@ /* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ - /* Fuels version: 11.11.11 Forc version: 22.22.22 diff --git a/packages/abi-typegen/test/fixtures/templates/common/common.hbs b/packages/abi-typegen/test/fixtures/templates/common/common.hbs index b638bcf3f03..0bb7044320b 100644 --- a/packages/abi-typegen/test/fixtures/templates/common/common.hbs +++ b/packages/abi-typegen/test/fixtures/templates/common/common.hbs @@ -1,8 +1,5 @@ /* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ - /* Fuels version: 11.11.11 Forc version: 22.22.22 diff --git a/packages/abi-typegen/test/fixtures/templates/contract-with-configurable/dts.hbs b/packages/abi-typegen/test/fixtures/templates/contract-with-configurable/dts.hbs deleted file mode 100644 index 158fd1a888e..00000000000 --- a/packages/abi-typegen/test/fixtures/templates/contract-with-configurable/dts.hbs +++ /dev/null @@ -1,36 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ - -/* tslint:disable */ -/* eslint-disable */ - -/* - Fuels version: 11.11.11 - Forc version: 22.22.22 - Fuel-Core version: 33.33.33 -*/ - -import type { - BytesLike, - Contract, - DecodedValue, - FunctionFragment, - Interface, - InvokeFunction, -} from 'fuels'; - -export type MyContractAbiConfigurables = { - SHOULD_RETURN: boolean; -}; - -interface MyContractAbiInterface extends Interface { - functions: { - main: FunctionFragment; - }; -} - -export class MyContractAbi extends Contract { - interface: MyContractAbiInterface; - functions: { - main: InvokeFunction<[x: string, y: string], boolean>; - }; -} diff --git a/packages/abi-typegen/test/fixtures/templates/contract-with-configurable/main.hbs b/packages/abi-typegen/test/fixtures/templates/contract-with-configurable/main.hbs new file mode 100644 index 00000000000..31ab8393b8a --- /dev/null +++ b/packages/abi-typegen/test/fixtures/templates/contract-with-configurable/main.hbs @@ -0,0 +1,102 @@ +/* Autogenerated file. Do not edit manually. */ + +/* + Fuels version: 11.11.11 + Forc version: 22.22.22 + Fuel-Core version: 33.33.33 +*/ + +import { Contract, Interface } from "fuels"; +import type { Provider, Account, StorageSlot, AbstractAddress } from "fuels"; + +import type { + FunctionFragment, + InvokeFunction, +} from 'fuels'; + +export type MyContractConfigurables = { + SHOULD_RETURN: boolean; +}; + +const abi = { + "encoding": "1", + "types": [ + { + "typeId": 0, + "type": "bool", + "components": null, + "typeParameters": null + }, + { + "typeId": 1, + "type": "str[10]", + "components": null, + "typeParameters": null + } + ], + "functions": [ + { + "inputs": [ + { + "name": "x", + "type": 1, + "typeArguments": null + }, + { + "name": "y", + "type": 1, + "typeArguments": null + } + ], + "name": "main", + "output": { + "name": "", + "type": 0, + "typeArguments": null + }, + "attributes": null + } + ], + "loggedTypes": [], + "messagesTypes": [], + "configurables": [ + { + "name": "SHOULD_RETURN", + "configurableType": { + "name": "", + "type": 0, + "typeArguments": null + }, + "offset": 1664 + } + ] +}; + +const storageSlots: StorageSlot[] = []; + +export class MyContractInterface extends Interface { + constructor() { + super(abi); + } + + declare functions: { + main: FunctionFragment; + }; +} + +export class MyContract extends Contract { + static readonly abi = abi; + static readonly storageSlots = storageSlots; + + declare interface: MyContractInterface; + declare functions: { + main: InvokeFunction<[x: string, y: string], boolean>; + }; + + constructor( + id: string | AbstractAddress, + accountOrProvider: Account | Provider, + ) { + super(id, abi, accountOrProvider); + } +} diff --git a/packages/abi-typegen/test/fixtures/templates/contract/bytecode.hbs b/packages/abi-typegen/test/fixtures/templates/contract/bytecode.hbs deleted file mode 100644 index ed26ccd0526..00000000000 --- a/packages/abi-typegen/test/fixtures/templates/contract/bytecode.hbs +++ /dev/null @@ -1,12 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ - -/* tslint:disable */ -/* eslint-disable */ - -/* - Fuels version: 11.11.11 - Forc version: 22.22.22 - Fuel-Core version: 33.33.33 -*/ - -export default '0x1af030007400000200000000000006105dffc00110ffff00740000001aec5000910002885d43f001104100c01a44600072480250104514801ae9100020f8330058fbe00250fbe004740000ec1a47d000504bb0105fed10025047b210724c0008284524c01a44600072480248104514801ae9100020f8330058fbe00250fbe004740000de1a47d000504bb0405fed10085047b258724c0008284524c05047b2585d4bb04b5d4920005d4fb04b72500008104d35005fed304b504fb1501ae910001ae520001ae1300020f8330058fbe00250fbe004740000d41a47d000504fb27872500010284d15005047b278504fb18072500010284d15001ae9300020f8330058fbe00250fbe004740000e21a47d000504fb0185fed10035fed20045047b21872480010284534805047b2185fed0000724000045fed00015043b0a8724800102843b480504bb1a0724c0010284914c01ae9200020f8330058fbe00250fbe004740000dc1a4bd000504fb1b072500010284d05001ae9300020f8330058fbe00250fbe004740000d31a4fd000134924c0134920001a4c00007648001c504bb1d0724c0010284914c01ae9200020f8330058fbe00250fbe004740000d61a4bd000504fb1e072500010284d05001ae9300020f8330058fbe00250fbe004740000cd1a43d000504fb1c072500010284d15001ae9300020f8330058fbe00250fbe004740000b41a47d000294d2411764c0001740000785043b2105047b1601ae900001ae5100020f8330058fbe00250fbe004740000c81a47d000504bb1701ae900001ae5200020f8330058fbe00250fbe004740000c01a43d000504bb060724c0010284914c050452010724c0010284504c05043b23872440020284124405043b2385047b23850451010504bb1f0724c0010284904c05043b200724c0010284114c01ae920001ae5000020f8330058fbe00250fbe004740000cc1a53d00072400400264000001a4070005047b0805fed0010724004005fed00115fec00125043b0b872480018284114805047b11072480018284504805043b02872480018284114805d4fb0055d4bb0065d43b00710450040154514807644000174000005724400021b49244026480000281d34001a4c7000104534005e454000104100405047b0d05fed301a5fed201b5fed001c5043b0f872480018284114805047b26072480018284504805043b2605047b12872480018284504805043b04872480018284114805d47b00950410010504bb0e85fed101d50452008724c0008284504c05043b22872440010284124405043b2285047b19072480010284504801ae9100020f8330058fbe00250fbe004740000321a43d0005047b228504bb140724c0010284914c05047b098724c0010284524c05d47b014254110007240007b3640000095000003960800001aec50001a43a0001a47e0005d4100001af500001af9100098080000970000034af800009500007f960800001aec5000910000201a43a0001a4790001a4b80001a4fe0007250000828ed05005fed10011a53b0005057b01072580010285545805d510000104544405f4110005043b01072440010284904401af52000920000201af93000980800009700007f4af8000095000007960800001aec5000910000101a43a0001a47e0007248001028ed04801a43b0005d4100001af50000920000101af9100098080000970000074af8000095000007960800001aec5000910000101a43a0001a47e0007248001028ed04801a43b0005d4100011af50000920000101af9100098080000970000074af8000095000007960800001aec5000910000101a43a0001a47e0007248001028ed04801a43b0005d4100001af50000920000101af9100098080000970000074af800009500001f960800001aec5000910000301a43a0001a4790001a4be0001ae900007240000a1ae500001ae3b00020f8330058fbe00250fbe004750000581a43d000504fb02072500010284d05005043b020504fb01072500010284d05001ae9300020f8330058fbe00250fbe0047500004a1a43d000724c0010284504c01af51000920000301af92000980800009700001f4af8000095000001960800001aec50001a43e0001af410001af9000098080000970000014af80000470000006d61696e0000000000000000000005e8' diff --git a/packages/abi-typegen/test/fixtures/templates/contract/dts.hbs b/packages/abi-typegen/test/fixtures/templates/contract/dts.hbs deleted file mode 100644 index 88205949c4e..00000000000 --- a/packages/abi-typegen/test/fixtures/templates/contract/dts.hbs +++ /dev/null @@ -1,139 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ - -/* tslint:disable */ -/* eslint-disable */ - -/* - Fuels version: 11.11.11 - Forc version: 22.22.22 - Fuel-Core version: 33.33.33 -*/ - -import type { - BigNumberish, - BN, - Bytes, - BytesLike, - Contract, - DecodedValue, - EvmAddress, - FunctionFragment, - Interface, - InvokeFunction, - RawSlice, - StdString, - StrSlice, -} from 'fuels'; - -import type { Option, Enum, Vec, Result } from "./common"; - -export type EnumWithVectorInput = Enum<{ num: BigNumberish, vec: Vec }>; -export type EnumWithVectorOutput = Enum<{ num: number, vec: Vec }>; -export enum ExternalEnumInput { A = 'A', B = 'B' }; -export enum ExternalEnumOutput { A = 'A', B = 'B' }; -export type GenericEnumInput = Enum<{ a: T1, b: T2 }>; -export type GenericEnumOutput = GenericEnumInput; -export type IdentityInput = Enum<{ Address: AddressInput, ContractId: ContractIdInput }>; -export type IdentityOutput = Enum<{ Address: AddressOutput, ContractId: ContractIdOutput }>; -export enum MyEnumInput { Checked = 'Checked', Pending = 'Pending' }; -export enum MyEnumOutput { Checked = 'Checked', Pending = 'Pending' }; - -export type AddressInput = { bits: string }; -export type AddressOutput = AddressInput; -export type AssetIdInput = { bits: string }; -export type AssetIdOutput = AssetIdInput; -export type ContractIdInput = { bits: string }; -export type ContractIdOutput = ContractIdInput; -export type ExternalStructInput = { value: BigNumberish }; -export type ExternalStructOutput = { value: BN }; -export type GenericStructWithEnumInput = { a: T1, b: GenericEnumInput }; -export type GenericStructWithEnumOutput = { a: T1, b: GenericEnumOutput }; -export type MyStructInput = { x: BigNumberish, y: BigNumberish, state: MyEnumInput }; -export type MyStructOutput = { x: number, y: number, state: MyEnumOutput }; -export type StructWithMultiOptionInput = { multiple: [Option, Option, Option, Option, Option] }; -export type StructWithMultiOptionOutput = { multiple: [Option, Option, Option, Option, Option] }; - -interface MyContractAbiInterface extends Interface { - functions: { - type_address: FunctionFragment; - type_contract_id: FunctionFragment; - type_external_enum: FunctionFragment; - type_external_struct: FunctionFragment; - type_identity: FunctionFragment; - types_array: FunctionFragment; - types_asset_id: FunctionFragment; - types_b256: FunctionFragment; - types_b512: FunctionFragment; - types_bool: FunctionFragment; - types_bytes: FunctionFragment; - types_empty: FunctionFragment; - types_empty_then_value: FunctionFragment; - types_enum: FunctionFragment; - types_enum_with_vector: FunctionFragment; - types_evm_address: FunctionFragment; - types_generic_enum: FunctionFragment; - types_generic_struct: FunctionFragment; - types_option: FunctionFragment; - types_option_geo: FunctionFragment; - types_raw_slice: FunctionFragment; - types_result: FunctionFragment; - types_std_string: FunctionFragment; - types_str: FunctionFragment; - types_str_slice: FunctionFragment; - types_struct: FunctionFragment; - types_tuple: FunctionFragment; - types_u16: FunctionFragment; - types_u256: FunctionFragment; - types_u32: FunctionFragment; - types_u64: FunctionFragment; - types_u8: FunctionFragment; - types_value_then_empty: FunctionFragment; - types_value_then_empty_then_value: FunctionFragment; - types_vector_geo: FunctionFragment; - types_vector_option: FunctionFragment; - types_vector_u8: FunctionFragment; - }; -} - -export class MyContractAbi extends Contract { - interface: MyContractAbiInterface; - functions: { - type_address: InvokeFunction<[x: AddressInput], AddressOutput>; - type_contract_id: InvokeFunction<[x: ContractIdInput], ContractIdOutput>; - type_external_enum: InvokeFunction<[x: ExternalEnumInput], ExternalEnumOutput>; - type_external_struct: InvokeFunction<[x: ExternalStructInput], ExternalStructOutput>; - type_identity: InvokeFunction<[x: IdentityInput], IdentityOutput>; - types_array: InvokeFunction<[x: [BigNumberish, BigNumberish, BigNumberish]], [number, number, number]>; - types_asset_id: InvokeFunction<[x: AssetIdInput], AssetIdOutput>; - types_b256: InvokeFunction<[x: string], string>; - types_b512: InvokeFunction<[x: string], string>; - types_bool: InvokeFunction<[x: boolean], boolean>; - types_bytes: InvokeFunction<[x: Bytes], Bytes>; - types_empty: InvokeFunction<[], void>; - types_empty_then_value: InvokeFunction<[y: BigNumberish], void>; - types_enum: InvokeFunction<[x: MyEnumInput], MyEnumOutput>; - types_enum_with_vector: InvokeFunction<[x: EnumWithVectorInput], EnumWithVectorOutput>; - types_evm_address: InvokeFunction<[x: EvmAddress], EvmAddress>; - types_generic_enum: InvokeFunction<[x: GenericEnumInput], GenericEnumOutput>; - types_generic_struct: InvokeFunction<[x: GenericStructWithEnumInput], GenericStructWithEnumOutput>; - types_option: InvokeFunction<[x: Option], Option>; - types_option_geo: InvokeFunction<[x: Option], Option>; - types_raw_slice: InvokeFunction<[x: RawSlice], RawSlice>; - types_result: InvokeFunction<[x: Result], Result>; - types_std_string: InvokeFunction<[x: StdString], StdString>; - types_str: InvokeFunction<[x: string], string>; - types_str_slice: InvokeFunction<[x: StrSlice], StrSlice>; - types_struct: InvokeFunction<[x: MyStructInput], MyStructOutput>; - types_tuple: InvokeFunction<[x: [BigNumberish, BigNumberish, BigNumberish]], [number, number, number]>; - types_u16: InvokeFunction<[x: BigNumberish], number>; - types_u256: InvokeFunction<[x: BigNumberish], BN>; - types_u32: InvokeFunction<[x: BigNumberish], number>; - types_u64: InvokeFunction<[x: BigNumberish], BN>; - types_u8: InvokeFunction<[x: BigNumberish], number>; - types_value_then_empty: InvokeFunction<[x: BigNumberish], void>; - types_value_then_empty_then_value: InvokeFunction<[x: BigNumberish, z: BigNumberish], void>; - types_vector_geo: InvokeFunction<[x: Vec], Vec>; - types_vector_option: InvokeFunction<[x: Vec], Vec>; - types_vector_u8: InvokeFunction<[x: Vec], Vec>; - }; -} diff --git a/packages/abi-typegen/test/fixtures/templates/contract/factory.hbs b/packages/abi-typegen/test/fixtures/templates/contract/factory.hbs index 579b80ce355..13e76cb7599 100644 --- a/packages/abi-typegen/test/fixtures/templates/contract/factory.hbs +++ b/packages/abi-typegen/test/fixtures/templates/contract/factory.hbs @@ -1,90 +1,31 @@ /* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ - /* Fuels version: 11.11.11 Forc version: 22.22.22 Fuel-Core version: 33.33.33 */ -import { Interface, Contract, ContractFactory } from "fuels"; -import type { Provider, Account, AbstractAddress, BytesLike, DeployContractOptions, StorageSlot, DeployContractResult } from "fuels"; -import type { MyContractAbi, MyContractAbiInterface } from "../MyContractAbi"; - -const _abi = { - "encoding": "1", - "types": [ - { - "typeId": 0, - "type": "bool", - "components": null, - "typeParameters": null - }, - { - "typeId": 1, - "type": "str[10]", - "components": null, - "typeParameters": null - } - ], - "functions": [ - { - "inputs": [ - { - "name": "x", - "type": 1, - "typeArguments": null - }, - { - "name": "y", - "type": 1, - "typeArguments": null - } - ], - "name": "main", - "output": { - "name": "", - "type": 0, - "typeArguments": null - }, - "attributes": null - } - ], - "loggedTypes": [], - "messagesTypes": [], - "configurables": [] -}; - -const _storageSlots: StorageSlot[] = []; - -export const MyContractAbi__factory = { - abi: _abi, - - storageSlots: _storageSlots, +import { ContractFactory } from "fuels"; +import type { Provider, Account, DeployContractOptions, DeployContractResult } from "fuels"; +import { MyContract } from "./MyContract"; - createInterface(): MyContractAbiInterface { - return new Interface(_abi) as unknown as MyContractAbiInterface - }, +export const myContractBytecode = "0x1af030007400000200000000000006785dffc00110ffff00740000001aec5000910003407240004a5fed00011a4060005fed005f5d47b05f5d43b001724800081b412400104114005fed00615d43b0611ae9000020f8330058fbe00250fbe004740001191a43d0005fed00635d43b0635047b0205fed00045043b1c872480008284114805047b2787248000828450480724000495fed00001a4060005fed00605d43b0605d47b000724800081b452440104104405fed00625d43b0621ae9000020f8330058fbe00250fbe004740000fe1a43d0005fed00645d43b0645047b0605fed000c5043b1d072480008284114805047b2b072480008284504805043b2b01ae9000020f8330058fbe00250fbe004740000ff1a47d0005fed105d5047b2e85d4bb05d504fb03872500008284d05005051300872540008285115405047b33072500010284535005d4500001b481480104514805f4110005043b3305047b1d872480010284504805043b2d072480010284114805043b2d05047b15872480010284504801ae9100020f8330058fbe00250fbe004740000f31a43d0005047b2e8504bb0285fed000550412008724c0008284114c05043b1f872440010284124405047b20872480010284504805d43f002104100c0504bb280724c0010284914c0504bb2805047b0105fed00027240000c5fed0003504fb0b072400010284d14005043b17872440010284124401ae9000020f8330058fbe00250fbe004740000e61a43d0005047b18872500010284535001ae9100020f8330058fbe00250fbe004740000dd1a47d00013410440134500001a400000764400225043b1a872440010284124401ae9000020f8330058fbe00250fbe004740000e81a43d0005fed00655043b1b872440010284134401ae9000020f8330058fbe00250fbe004740000de1a43d0005fed005e5043b19872440010284124401ae9000020f8330058fbe00250fbe004740000bc1a43d0005fed005c5d43b0655d47b05e5d4bb05c2941045276400001740000765043b2781ae9000020f8330058fbe00250fbe004740000841a43d0005047b0805fed00105043b21872480008284114805047b22072480008284504805043b2a872480008284114805d43b0555fed00525043b29072440400264400001a447000504bb0885fed1011724404005fed10125fec00135047b0c0724c0018284524c0504bb228724c0018284914c05047b118724c0018284524c0504bb048724c0018284914c05d53b0095d4fb00a5d47b00b7248000810491480154924c07648000174000005724800021b4d3480264c0000281d44401a50700010494440725400082849054072400008104114005047b0d85fed401b5fed301c5fed001d5043b10072480018284114805047b24072480018284504805043b2b872480018284114805043b2b85047b13072480018284504805043b06872480018284114805d47b00d50410010504bb0f05fed101e50452008724c0008284504c05043b25872440010284124405047b26872480010284504805043b29872480010284114805043b2985047b16872480010284504801ae9100020f8330058fbe00250fbe004740000371a43d0005047b298504bb148724c0010284914c05047b1e8724c0010284524c0504bb0a0724c0010284914c05d47b01512451040254110007240007b3640000095000007960800001aec50001a43a0001a47e000760000077248000813492040764800025d410000740000015c410000740000001af500001af9100098080000970000074af800009500000f960800001aec5000910000081a43a0001a47e0005d4900005d4920005fed20005d490000724c00081b4c14c0104924c05f4120005d43b0001af50000920000081af91000980800009700000f4af800009500000f960800001aec5000910000301a43a0001a47e000504bb010724c0010284904c05043b020724c0010284124c07248001028ed04805d43b0041af50000920000301af91000980800009700000f4af800009500000f960800001aec5000910000281a43a0001a47e0007248001028ed04801a43b000504bb010724c0010284904c05043b01050410008504bb020724c0008284904c05d43b0031af50000920000281af91000980800009700000f4af800009500000f960800001aec5000910000281a43a0001a47e0007248001028ed04801a43b000504bb010724c0010284904c05043b010504bb020724c0008284904c05d43b0021af50000920000281af91000980800009700000f4af800004700000072657475726e5f696e7075740000000000000000000004a8"; - connect( - id: string | AbstractAddress, - accountOrProvider: Account | Provider - ): MyContractAbi { - return new Contract(id, _abi, accountOrProvider) as unknown as MyContractAbi - }, +export class MyContractFactory extends ContractFactory { + constructor(accountOrProvider: Account | Provider) { + super(myContractBytecode, MyContract.abi, accountOrProvider); + } - async deployContract( - bytecode: BytesLike, + static async deploy ( wallet: Account, options: DeployContractOptions = {} - ): Promise> { - const factory = new ContractFactory(bytecode, _abi, wallet); + ): Promise> { + const factory = new MyContractFactory(wallet); - return factory.deployContract({ - storageSlots: _storageSlots, + return factory.deployContract({ + storageSlots: MyContract.storageSlots, ...options, }); - }, + } } diff --git a/packages/abi-typegen/test/fixtures/templates/contract/index.hbs b/packages/abi-typegen/test/fixtures/templates/contract/index.hbs index 68f3de2bec2..b71d24c1953 100644 --- a/packages/abi-typegen/test/fixtures/templates/contract/index.hbs +++ b/packages/abi-typegen/test/fixtures/templates/contract/index.hbs @@ -1,14 +1,10 @@ /* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ - /* Fuels version: 11.11.11 Forc version: 22.22.22 Fuel-Core version: 33.33.33 */ -export type { MyContractAbi } from './MyContractAbi'; - -export { MyContractAbi__factory } from './factories/MyContractAbi__factory'; +export * from './MyContract'; +export * from './MyContractFactory'; diff --git a/packages/abi-typegen/test/fixtures/templates/contract/main.hbs b/packages/abi-typegen/test/fixtures/templates/contract/main.hbs new file mode 100644 index 00000000000..832ab1fa6c3 --- /dev/null +++ b/packages/abi-typegen/test/fixtures/templates/contract/main.hbs @@ -0,0 +1,1426 @@ +/* Autogenerated file. Do not edit manually. */ + +/* + Fuels version: 11.11.11 + Forc version: 22.22.22 + Fuel-Core version: 33.33.33 +*/ + +import { Contract, Interface } from "fuels"; +import type { Provider, Account, StorageSlot, AbstractAddress } from "fuels"; + +import type { + BigNumberish, + BN, + Bytes, + EvmAddress, + FunctionFragment, + InvokeFunction, + RawSlice, + StdString, + StrSlice, +} from 'fuels'; + +import type { Option, Enum, Vec, Result } from "./common"; + +export type EnumWithVectorInput = Enum<{ num: BigNumberish, vec: Vec }>; +export type EnumWithVectorOutput = Enum<{ num: number, vec: Vec }>; +export enum ExternalEnumInput { A = 'A', B = 'B' }; +export enum ExternalEnumOutput { A = 'A', B = 'B' }; +export type GenericEnumInput = Enum<{ a: T1, b: T2 }>; +export type GenericEnumOutput = GenericEnumInput; +export type IdentityInput = Enum<{ Address: AddressInput, ContractId: ContractIdInput }>; +export type IdentityOutput = Enum<{ Address: AddressOutput, ContractId: ContractIdOutput }>; +export enum MyEnumInput { Checked = 'Checked', Pending = 'Pending' }; +export enum MyEnumOutput { Checked = 'Checked', Pending = 'Pending' }; + +export type AddressInput = { bits: string }; +export type AddressOutput = AddressInput; +export type AssetIdInput = { bits: string }; +export type AssetIdOutput = AssetIdInput; +export type ContractIdInput = { bits: string }; +export type ContractIdOutput = ContractIdInput; +export type ExternalStructInput = { value: BigNumberish }; +export type ExternalStructOutput = { value: BN }; +export type GenericStructWithEnumInput = { a: T1, b: GenericEnumInput }; +export type GenericStructWithEnumOutput = { a: T1, b: GenericEnumOutput }; +export type MyStructInput = { x: BigNumberish, y: BigNumberish, state: MyEnumInput }; +export type MyStructOutput = { x: number, y: number, state: MyEnumOutput }; +export type StructWithMultiOptionInput = { multiple: [Option, Option, Option, Option, Option] }; +export type StructWithMultiOptionOutput = { multiple: [Option, Option, Option, Option, Option] }; + +const abi = { + "encoding": "1", + "types": [ + { + "typeId": 0, + "type": "()", + "components": [], + "typeParameters": null + }, + { + "typeId": 1, + "type": "(_, _, _)", + "components": [ + { + "name": "__tuple_element", + "type": 41, + "typeArguments": null + }, + { + "name": "__tuple_element", + "type": 41, + "typeArguments": null + }, + { + "name": "__tuple_element", + "type": 41, + "typeArguments": null + } + ], + "typeParameters": null + }, + { + "typeId": 2, + "type": "[_; 2]", + "components": [ + { + "name": "__array_element", + "type": 5, + "typeArguments": null + } + ], + "typeParameters": null + }, + { + "typeId": 3, + "type": "[_; 3]", + "components": [ + { + "name": "__array_element", + "type": 41, + "typeArguments": null + } + ], + "typeParameters": null + }, + { + "typeId": 4, + "type": "[_; 5]", + "components": [ + { + "name": "__array_element", + "type": 12, + "typeArguments": [ + { + "name": "", + "type": 41, + "typeArguments": null + } + ] + } + ], + "typeParameters": null + }, + { + "typeId": 5, + "type": "b256", + "components": null, + "typeParameters": null + }, + { + "typeId": 6, + "type": "bool", + "components": null, + "typeParameters": null + }, + { + "typeId": 7, + "type": "enum EnumWithVector", + "components": [ + { + "name": "num", + "type": 41, + "typeArguments": null + }, + { + "name": "vec", + "type": 36, + "typeArguments": [ + { + "name": "", + "type": 41, + "typeArguments": null + } + ] + } + ], + "typeParameters": null + }, + { + "typeId": 8, + "type": "enum ExternalEnum", + "components": [ + { + "name": "A", + "type": 0, + "typeArguments": null + }, + { + "name": "B", + "type": 0, + "typeArguments": null + } + ], + "typeParameters": null + }, + { + "typeId": 9, + "type": "enum GenericEnum", + "components": [ + { + "name": "a", + "type": 16, + "typeArguments": null + }, + { + "name": "b", + "type": 17, + "typeArguments": null + } + ], + "typeParameters": [ + 16, + 17 + ] + }, + { + "typeId": 10, + "type": "enum Identity", + "components": [ + { + "name": "Address", + "type": 23, + "typeArguments": null + }, + { + "name": "ContractId", + "type": 27, + "typeArguments": null + } + ], + "typeParameters": null + }, + { + "typeId": 11, + "type": "enum MyEnum", + "components": [ + { + "name": "Checked", + "type": 0, + "typeArguments": null + }, + { + "name": "Pending", + "type": 0, + "typeArguments": null + } + ], + "typeParameters": null + }, + { + "typeId": 12, + "type": "enum Option", + "components": [ + { + "name": "None", + "type": 0, + "typeArguments": null + }, + { + "name": "Some", + "type": 15, + "typeArguments": null + } + ], + "typeParameters": [ + 15 + ] + }, + { + "typeId": 13, + "type": "enum Result", + "components": [ + { + "name": "Ok", + "type": 15, + "typeArguments": null + }, + { + "name": "Err", + "type": 14, + "typeArguments": null + } + ], + "typeParameters": [ + 15, + 14 + ] + }, + { + "typeId": 14, + "type": "generic E", + "components": null, + "typeParameters": null + }, + { + "typeId": 15, + "type": "generic T", + "components": null, + "typeParameters": null + }, + { + "typeId": 16, + "type": "generic T1", + "components": null, + "typeParameters": null + }, + { + "typeId": 17, + "type": "generic T2", + "components": null, + "typeParameters": null + }, + { + "typeId": 18, + "type": "raw untyped ptr", + "components": null, + "typeParameters": null + }, + { + "typeId": 19, + "type": "raw untyped slice", + "components": null, + "typeParameters": null + }, + { + "typeId": 20, + "type": "str", + "components": null, + "typeParameters": null + }, + { + "typeId": 21, + "type": "str[10]", + "components": null, + "typeParameters": null + }, + { + "typeId": 22, + "type": "str[5]", + "components": null, + "typeParameters": null + }, + { + "typeId": 23, + "type": "struct Address", + "components": [ + { + "name": "bits", + "type": 5, + "typeArguments": null + } + ], + "typeParameters": null + }, + { + "typeId": 24, + "type": "struct AssetId", + "components": [ + { + "name": "bits", + "type": 5, + "typeArguments": null + } + ], + "typeParameters": null + }, + { + "typeId": 25, + "type": "struct B512", + "components": [ + { + "name": "bits", + "type": 2, + "typeArguments": null + } + ], + "typeParameters": null + }, + { + "typeId": 26, + "type": "struct Bytes", + "components": [ + { + "name": "buf", + "type": 32, + "typeArguments": null + }, + { + "name": "len", + "type": 40, + "typeArguments": null + } + ], + "typeParameters": null + }, + { + "typeId": 27, + "type": "struct ContractId", + "components": [ + { + "name": "bits", + "type": 5, + "typeArguments": null + } + ], + "typeParameters": null + }, + { + "typeId": 28, + "type": "struct EvmAddress", + "components": [ + { + "name": "bits", + "type": 5, + "typeArguments": null + } + ], + "typeParameters": null + }, + { + "typeId": 29, + "type": "struct ExternalStruct", + "components": [ + { + "name": "value", + "type": 40, + "typeArguments": null + } + ], + "typeParameters": null + }, + { + "typeId": 30, + "type": "struct GenericStructWithEnum", + "components": [ + { + "name": "a", + "type": 16, + "typeArguments": null + }, + { + "name": "b", + "type": 9, + "typeArguments": [ + { + "name": "", + "type": 16, + "typeArguments": null + }, + { + "name": "", + "type": 17, + "typeArguments": null + } + ] + } + ], + "typeParameters": [ + 16, + 17 + ] + }, + { + "typeId": 31, + "type": "struct MyStruct", + "components": [ + { + "name": "x", + "type": 41, + "typeArguments": null + }, + { + "name": "y", + "type": 41, + "typeArguments": null + }, + { + "name": "state", + "type": 11, + "typeArguments": null + } + ], + "typeParameters": null + }, + { + "typeId": 32, + "type": "struct RawBytes", + "components": [ + { + "name": "ptr", + "type": 18, + "typeArguments": null + }, + { + "name": "cap", + "type": 40, + "typeArguments": null + } + ], + "typeParameters": null + }, + { + "typeId": 33, + "type": "struct RawVec", + "components": [ + { + "name": "ptr", + "type": 18, + "typeArguments": null + }, + { + "name": "cap", + "type": 40, + "typeArguments": null + } + ], + "typeParameters": [ + 15 + ] + }, + { + "typeId": 34, + "type": "struct String", + "components": [ + { + "name": "bytes", + "type": 26, + "typeArguments": null + } + ], + "typeParameters": null + }, + { + "typeId": 35, + "type": "struct StructWithMultiOption", + "components": [ + { + "name": "multiple", + "type": 4, + "typeArguments": null + } + ], + "typeParameters": null + }, + { + "typeId": 36, + "type": "struct Vec", + "components": [ + { + "name": "buf", + "type": 33, + "typeArguments": [ + { + "name": "", + "type": 15, + "typeArguments": null + } + ] + }, + { + "name": "len", + "type": 40, + "typeArguments": null + } + ], + "typeParameters": [ + 15 + ] + }, + { + "typeId": 37, + "type": "u16", + "components": null, + "typeParameters": null + }, + { + "typeId": 38, + "type": "u256", + "components": null, + "typeParameters": null + }, + { + "typeId": 39, + "type": "u32", + "components": null, + "typeParameters": null + }, + { + "typeId": 40, + "type": "u64", + "components": null, + "typeParameters": null + }, + { + "typeId": 41, + "type": "u8", + "components": null, + "typeParameters": null + } + ], + "functions": [ + { + "inputs": [ + { + "name": "x", + "type": 23, + "typeArguments": null + } + ], + "name": "type_address", + "output": { + "name": "", + "type": 23, + "typeArguments": null + }, + "attributes": null + }, + { + "inputs": [ + { + "name": "x", + "type": 27, + "typeArguments": null + } + ], + "name": "type_contract_id", + "output": { + "name": "", + "type": 27, + "typeArguments": null + }, + "attributes": null + }, + { + "inputs": [ + { + "name": "x", + "type": 8, + "typeArguments": null + } + ], + "name": "type_external_enum", + "output": { + "name": "", + "type": 8, + "typeArguments": null + }, + "attributes": null + }, + { + "inputs": [ + { + "name": "x", + "type": 29, + "typeArguments": null + } + ], + "name": "type_external_struct", + "output": { + "name": "", + "type": 29, + "typeArguments": null + }, + "attributes": null + }, + { + "inputs": [ + { + "name": "x", + "type": 10, + "typeArguments": null + } + ], + "name": "type_identity", + "output": { + "name": "", + "type": 10, + "typeArguments": null + }, + "attributes": null + }, + { + "inputs": [ + { + "name": "x", + "type": 3, + "typeArguments": null + } + ], + "name": "types_array", + "output": { + "name": "", + "type": 3, + "typeArguments": null + }, + "attributes": null + }, + { + "inputs": [ + { + "name": "x", + "type": 24, + "typeArguments": null + } + ], + "name": "types_asset_id", + "output": { + "name": "", + "type": 24, + "typeArguments": null + }, + "attributes": null + }, + { + "inputs": [ + { + "name": "x", + "type": 5, + "typeArguments": null + } + ], + "name": "types_b256", + "output": { + "name": "", + "type": 5, + "typeArguments": null + }, + "attributes": null + }, + { + "inputs": [ + { + "name": "x", + "type": 25, + "typeArguments": null + } + ], + "name": "types_b512", + "output": { + "name": "", + "type": 25, + "typeArguments": null + }, + "attributes": null + }, + { + "inputs": [ + { + "name": "x", + "type": 6, + "typeArguments": null + } + ], + "name": "types_bool", + "output": { + "name": "", + "type": 6, + "typeArguments": null + }, + "attributes": null + }, + { + "inputs": [ + { + "name": "x", + "type": 26, + "typeArguments": null + } + ], + "name": "types_bytes", + "output": { + "name": "", + "type": 26, + "typeArguments": null + }, + "attributes": null + }, + { + "inputs": [ + { + "name": "x", + "type": 0, + "typeArguments": null + } + ], + "name": "types_empty", + "output": { + "name": "", + "type": 0, + "typeArguments": null + }, + "attributes": null + }, + { + "inputs": [ + { + "name": "x", + "type": 0, + "typeArguments": null + }, + { + "name": "y", + "type": 41, + "typeArguments": null + } + ], + "name": "types_empty_then_value", + "output": { + "name": "", + "type": 0, + "typeArguments": null + }, + "attributes": null + }, + { + "inputs": [ + { + "name": "x", + "type": 11, + "typeArguments": null + } + ], + "name": "types_enum", + "output": { + "name": "", + "type": 11, + "typeArguments": null + }, + "attributes": null + }, + { + "inputs": [ + { + "name": "x", + "type": 7, + "typeArguments": null + } + ], + "name": "types_enum_with_vector", + "output": { + "name": "", + "type": 7, + "typeArguments": null + }, + "attributes": null + }, + { + "inputs": [ + { + "name": "x", + "type": 28, + "typeArguments": null + } + ], + "name": "types_evm_address", + "output": { + "name": "", + "type": 28, + "typeArguments": null + }, + "attributes": null + }, + { + "inputs": [ + { + "name": "x", + "type": 9, + "typeArguments": [ + { + "name": "", + "type": 41, + "typeArguments": null + }, + { + "name": "", + "type": 37, + "typeArguments": null + } + ] + } + ], + "name": "types_generic_enum", + "output": { + "name": "", + "type": 9, + "typeArguments": [ + { + "name": "", + "type": 41, + "typeArguments": null + }, + { + "name": "", + "type": 37, + "typeArguments": null + } + ] + }, + "attributes": null + }, + { + "inputs": [ + { + "name": "x", + "type": 30, + "typeArguments": [ + { + "name": "", + "type": 41, + "typeArguments": null + }, + { + "name": "", + "type": 37, + "typeArguments": null + } + ] + } + ], + "name": "types_generic_struct", + "output": { + "name": "", + "type": 30, + "typeArguments": [ + { + "name": "", + "type": 41, + "typeArguments": null + }, + { + "name": "", + "type": 37, + "typeArguments": null + } + ] + }, + "attributes": null + }, + { + "inputs": [ + { + "name": "x", + "type": 12, + "typeArguments": [ + { + "name": "", + "type": 41, + "typeArguments": null + } + ] + } + ], + "name": "types_option", + "output": { + "name": "", + "type": 12, + "typeArguments": [ + { + "name": "", + "type": 41, + "typeArguments": null + } + ] + }, + "attributes": null + }, + { + "inputs": [ + { + "name": "x", + "type": 12, + "typeArguments": [ + { + "name": "", + "type": 31, + "typeArguments": null + } + ] + } + ], + "name": "types_option_geo", + "output": { + "name": "", + "type": 12, + "typeArguments": [ + { + "name": "", + "type": 31, + "typeArguments": null + } + ] + }, + "attributes": null + }, + { + "inputs": [ + { + "name": "x", + "type": 19, + "typeArguments": null + } + ], + "name": "types_raw_slice", + "output": { + "name": "", + "type": 19, + "typeArguments": null + }, + "attributes": null + }, + { + "inputs": [ + { + "name": "x", + "type": 13, + "typeArguments": [ + { + "name": "", + "type": 40, + "typeArguments": null + }, + { + "name": "", + "type": 39, + "typeArguments": null + } + ] + } + ], + "name": "types_result", + "output": { + "name": "", + "type": 13, + "typeArguments": [ + { + "name": "", + "type": 40, + "typeArguments": null + }, + { + "name": "", + "type": 21, + "typeArguments": null + } + ] + }, + "attributes": null + }, + { + "inputs": [ + { + "name": "x", + "type": 34, + "typeArguments": null + } + ], + "name": "types_std_string", + "output": { + "name": "", + "type": 34, + "typeArguments": null + }, + "attributes": null + }, + { + "inputs": [ + { + "name": "x", + "type": 22, + "typeArguments": null + } + ], + "name": "types_str", + "output": { + "name": "", + "type": 22, + "typeArguments": null + }, + "attributes": null + }, + { + "inputs": [ + { + "name": "x", + "type": 20, + "typeArguments": null + } + ], + "name": "types_str_slice", + "output": { + "name": "", + "type": 20, + "typeArguments": null + }, + "attributes": null + }, + { + "inputs": [ + { + "name": "x", + "type": 31, + "typeArguments": null + } + ], + "name": "types_struct", + "output": { + "name": "", + "type": 31, + "typeArguments": null + }, + "attributes": null + }, + { + "inputs": [ + { + "name": "x", + "type": 1, + "typeArguments": null + } + ], + "name": "types_tuple", + "output": { + "name": "", + "type": 1, + "typeArguments": null + }, + "attributes": null + }, + { + "inputs": [ + { + "name": "x", + "type": 37, + "typeArguments": null + } + ], + "name": "types_u16", + "output": { + "name": "", + "type": 37, + "typeArguments": null + }, + "attributes": null + }, + { + "inputs": [ + { + "name": "x", + "type": 38, + "typeArguments": null + } + ], + "name": "types_u256", + "output": { + "name": "", + "type": 38, + "typeArguments": null + }, + "attributes": null + }, + { + "inputs": [ + { + "name": "x", + "type": 39, + "typeArguments": null + } + ], + "name": "types_u32", + "output": { + "name": "", + "type": 39, + "typeArguments": null + }, + "attributes": null + }, + { + "inputs": [ + { + "name": "x", + "type": 40, + "typeArguments": null + } + ], + "name": "types_u64", + "output": { + "name": "", + "type": 40, + "typeArguments": null + }, + "attributes": null + }, + { + "inputs": [ + { + "name": "x", + "type": 41, + "typeArguments": null + } + ], + "name": "types_u8", + "output": { + "name": "", + "type": 41, + "typeArguments": null + }, + "attributes": null + }, + { + "inputs": [ + { + "name": "x", + "type": 41, + "typeArguments": null + }, + { + "name": "y", + "type": 0, + "typeArguments": null + } + ], + "name": "types_value_then_empty", + "output": { + "name": "", + "type": 0, + "typeArguments": null + }, + "attributes": null + }, + { + "inputs": [ + { + "name": "x", + "type": 41, + "typeArguments": null + }, + { + "name": "y", + "type": 0, + "typeArguments": null + }, + { + "name": "z", + "type": 41, + "typeArguments": null + } + ], + "name": "types_value_then_empty_then_value", + "output": { + "name": "", + "type": 0, + "typeArguments": null + }, + "attributes": null + }, + { + "inputs": [ + { + "name": "x", + "type": 36, + "typeArguments": [ + { + "name": "", + "type": 31, + "typeArguments": null + } + ] + } + ], + "name": "types_vector_geo", + "output": { + "name": "", + "type": 36, + "typeArguments": [ + { + "name": "", + "type": 31, + "typeArguments": null + } + ] + }, + "attributes": null + }, + { + "inputs": [ + { + "name": "x", + "type": 36, + "typeArguments": [ + { + "name": "", + "type": 35, + "typeArguments": null + } + ] + } + ], + "name": "types_vector_option", + "output": { + "name": "", + "type": 36, + "typeArguments": [ + { + "name": "", + "type": 35, + "typeArguments": null + } + ] + }, + "attributes": null + }, + { + "inputs": [ + { + "name": "x", + "type": 36, + "typeArguments": [ + { + "name": "", + "type": 41, + "typeArguments": null + } + ] + } + ], + "name": "types_vector_u8", + "output": { + "name": "", + "type": 36, + "typeArguments": [ + { + "name": "", + "type": 41, + "typeArguments": null + } + ] + }, + "attributes": null + } + ], + "loggedTypes": [], + "messagesTypes": [], + "configurables": [] +}; + +const storageSlots: StorageSlot[] = []; + +export class MyContractInterface extends Interface { + constructor() { + super(abi); + } + + declare functions: { + type_address: FunctionFragment; + type_contract_id: FunctionFragment; + type_external_enum: FunctionFragment; + type_external_struct: FunctionFragment; + type_identity: FunctionFragment; + types_array: FunctionFragment; + types_asset_id: FunctionFragment; + types_b256: FunctionFragment; + types_b512: FunctionFragment; + types_bool: FunctionFragment; + types_bytes: FunctionFragment; + types_empty: FunctionFragment; + types_empty_then_value: FunctionFragment; + types_enum: FunctionFragment; + types_enum_with_vector: FunctionFragment; + types_evm_address: FunctionFragment; + types_generic_enum: FunctionFragment; + types_generic_struct: FunctionFragment; + types_option: FunctionFragment; + types_option_geo: FunctionFragment; + types_raw_slice: FunctionFragment; + types_result: FunctionFragment; + types_std_string: FunctionFragment; + types_str: FunctionFragment; + types_str_slice: FunctionFragment; + types_struct: FunctionFragment; + types_tuple: FunctionFragment; + types_u16: FunctionFragment; + types_u256: FunctionFragment; + types_u32: FunctionFragment; + types_u64: FunctionFragment; + types_u8: FunctionFragment; + types_value_then_empty: FunctionFragment; + types_value_then_empty_then_value: FunctionFragment; + types_vector_geo: FunctionFragment; + types_vector_option: FunctionFragment; + types_vector_u8: FunctionFragment; + }; +} + +export class MyContract extends Contract { + static readonly abi = abi; + static readonly storageSlots = storageSlots; + + declare interface: MyContractInterface; + declare functions: { + type_address: InvokeFunction<[x: AddressInput], AddressOutput>; + type_contract_id: InvokeFunction<[x: ContractIdInput], ContractIdOutput>; + type_external_enum: InvokeFunction<[x: ExternalEnumInput], ExternalEnumOutput>; + type_external_struct: InvokeFunction<[x: ExternalStructInput], ExternalStructOutput>; + type_identity: InvokeFunction<[x: IdentityInput], IdentityOutput>; + types_array: InvokeFunction<[x: [BigNumberish, BigNumberish, BigNumberish]], [number, number, number]>; + types_asset_id: InvokeFunction<[x: AssetIdInput], AssetIdOutput>; + types_b256: InvokeFunction<[x: string], string>; + types_b512: InvokeFunction<[x: string], string>; + types_bool: InvokeFunction<[x: boolean], boolean>; + types_bytes: InvokeFunction<[x: Bytes], Bytes>; + types_empty: InvokeFunction<[], void>; + types_empty_then_value: InvokeFunction<[y: BigNumberish], void>; + types_enum: InvokeFunction<[x: MyEnumInput], MyEnumOutput>; + types_enum_with_vector: InvokeFunction<[x: EnumWithVectorInput], EnumWithVectorOutput>; + types_evm_address: InvokeFunction<[x: EvmAddress], EvmAddress>; + types_generic_enum: InvokeFunction<[x: GenericEnumInput], GenericEnumOutput>; + types_generic_struct: InvokeFunction<[x: GenericStructWithEnumInput], GenericStructWithEnumOutput>; + types_option: InvokeFunction<[x: Option], Option>; + types_option_geo: InvokeFunction<[x: Option], Option>; + types_raw_slice: InvokeFunction<[x: RawSlice], RawSlice>; + types_result: InvokeFunction<[x: Result], Result>; + types_std_string: InvokeFunction<[x: StdString], StdString>; + types_str: InvokeFunction<[x: string], string>; + types_str_slice: InvokeFunction<[x: StrSlice], StrSlice>; + types_struct: InvokeFunction<[x: MyStructInput], MyStructOutput>; + types_tuple: InvokeFunction<[x: [BigNumberish, BigNumberish, BigNumberish]], [number, number, number]>; + types_u16: InvokeFunction<[x: BigNumberish], number>; + types_u256: InvokeFunction<[x: BigNumberish], BN>; + types_u32: InvokeFunction<[x: BigNumberish], number>; + types_u64: InvokeFunction<[x: BigNumberish], BN>; + types_u8: InvokeFunction<[x: BigNumberish], number>; + types_value_then_empty: InvokeFunction<[x: BigNumberish], void>; + types_value_then_empty_then_value: InvokeFunction<[x: BigNumberish, z: BigNumberish], void>; + types_vector_geo: InvokeFunction<[x: Vec], Vec>; + types_vector_option: InvokeFunction<[x: Vec], Vec>; + types_vector_u8: InvokeFunction<[x: Vec], Vec>; + }; + + constructor( + id: string | AbstractAddress, + accountOrProvider: Account | Provider, + ) { + super(id, abi, accountOrProvider); + } +} diff --git a/packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/index.hbs b/packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/index.hbs index a55fe7dbe03..adf1da7692b 100644 --- a/packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/index.hbs +++ b/packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/index.hbs @@ -1,14 +1,9 @@ /* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ - /* Fuels version: 11.11.11 Forc version: 22.22.22 Fuel-Core version: 33.33.33 */ -export type { MyPredicateAbiInputs } from './factories/MyContractAbi__factory'; - -export { MyPredicateAbi__factory } from './factories/MyContractAbi__factory'; +export * from './MyContract'; diff --git a/packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/factory.hbs b/packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/main.hbs similarity index 74% rename from packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/factory.hbs rename to packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/main.hbs index bbda33210f2..951b2983dc3 100644 --- a/packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/factory.hbs +++ b/packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/main.hbs @@ -1,8 +1,5 @@ /* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ - /* Fuels version: 11.11.11 Forc version: 22.22.22 @@ -16,14 +13,14 @@ import { Provider, } from 'fuels'; -export type MyPredicateAbiConfigurables = { +export type MyPredicateConfigurables = { FEE: BigNumberish; ADDRESS: string; }; -export type MyPredicateAbiInputs = [fee: BigNumberish, address: string]; +export type MyPredicateInputs = [fee: BigNumberish, address: string]; -const _abi = { +const abi = { "encoding": "1", "types": [ { @@ -90,27 +87,22 @@ const _abi = { "offset": 872 } ] -} - -const _bin = '0x000' +}; -export const MyPredicateAbi__factory = { +const bytecode = '0x000'; - abi: _abi, - bin: _bin, +export class MyPredicate extends Predicate { - createInstance(provider: Provider, predicateData?: MyPredicateAbiInputs, configurables?: MyPredicateAbiConfigurables) { + static readonly abi = abi; + static readonly bytecode = bytecode; - const predicate = new Predicate({ - bytecode: _bin, - abi: _abi, + constructor(provider: Provider, predicateData?: MyPredicateInputs, configurables?: MyPredicateConfigurables) { + super({ + abi, + bytecode, provider, inputData: predicateData, configurableConstants: configurables, - }) - - return predicate; - + }); } - } diff --git a/packages/abi-typegen/test/fixtures/templates/predicate/index.hbs b/packages/abi-typegen/test/fixtures/templates/predicate/index.hbs index f63ef7359e4..c6d06db744a 100644 --- a/packages/abi-typegen/test/fixtures/templates/predicate/index.hbs +++ b/packages/abi-typegen/test/fixtures/templates/predicate/index.hbs @@ -1,14 +1,9 @@ /* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ - /* Fuels version: 11.11.11 Forc version: 22.22.22 Fuel-Core version: 33.33.33 */ -export type { MyPredicateAbiInputs } from './factories/MyPredicateAbi__factory'; - -export { MyPredicateAbi__factory } from './factories/MyPredicateAbi__factory'; +export * from './MyPredicate'; diff --git a/packages/abi-typegen/test/fixtures/templates/predicate/factory.hbs b/packages/abi-typegen/test/fixtures/templates/predicate/main.hbs similarity index 89% rename from packages/abi-typegen/test/fixtures/templates/predicate/factory.hbs rename to packages/abi-typegen/test/fixtures/templates/predicate/main.hbs index 45dd5a82da7..3d4eb886f3c 100644 --- a/packages/abi-typegen/test/fixtures/templates/predicate/factory.hbs +++ b/packages/abi-typegen/test/fixtures/templates/predicate/main.hbs @@ -1,8 +1,5 @@ /* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ - /* Fuels version: 11.11.11 Forc version: 22.22.22 @@ -27,12 +24,12 @@ export type MyGenericStructOutput = MyGenericStructInput; export type ValidationInput = { has_account: boolean, total_complete: BigNumberish }; export type ValidationOutput = { has_account: boolean, total_complete: BN }; -export type MyPredicateAbiConfigurables = { +export type MyPredicateConfigurables = { }; -export type MyPredicateAbiInputs = [vec: Vec, enm: MyGenericEnumInput, opt: Option, res: Result, BigNumberish>]; +export type MyPredicateInputs = [vec: Vec, enm: MyGenericEnumInput, opt: Option, res: Result, BigNumberish>]; -const _abi = { +const abi = { "encoding": "1", "types": [ { @@ -289,27 +286,22 @@ const _abi = { "loggedTypes": [], "messagesTypes": [], "configurables": [] -} - -const _bin = '0x000' +}; -export const MyPredicateAbi__factory = { +const bytecode = '0x000'; - abi: _abi, - bin: _bin, +export class MyPredicate extends Predicate { - createInstance(provider: Provider, predicateData?: MyPredicateAbiInputs, configurables?: MyPredicateAbiConfigurables) { + static readonly abi = abi; + static readonly bytecode = bytecode; - const predicate = new Predicate({ - bytecode: _bin, - abi: _abi, + constructor(provider: Provider, predicateData?: MyPredicateInputs, configurables?: MyPredicateConfigurables) { + super({ + abi, + bytecode, provider, inputData: predicateData, configurableConstants: configurables, - }) - - return predicate; - + }); } - } diff --git a/packages/abi-typegen/test/fixtures/templates/script-with-configurable/factory.hbs b/packages/abi-typegen/test/fixtures/templates/script-with-configurable/main.hbs similarity index 77% rename from packages/abi-typegen/test/fixtures/templates/script-with-configurable/factory.hbs rename to packages/abi-typegen/test/fixtures/templates/script-with-configurable/main.hbs index 9927fc337eb..8644144d5a2 100644 --- a/packages/abi-typegen/test/fixtures/templates/script-with-configurable/factory.hbs +++ b/packages/abi-typegen/test/fixtures/templates/script-with-configurable/main.hbs @@ -1,8 +1,5 @@ /* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ - /* Fuels version: 11.11.11 Forc version: 22.22.22 @@ -18,14 +15,14 @@ import { export type ScoreInput = { user: BigNumberish, points: BigNumberish }; export type ScoreOutput = { user: number, points: number }; -type MyScriptAbiInputs = [score: ScoreInput]; -type MyScriptAbiOutput = boolean; +type MyScriptInputs = [score: ScoreInput]; +type MyScriptOutput = boolean; -export type MyScriptAbiConfigurables = { +export type MyScriptConfigurables = { SHOULD_RETURN: boolean; }; -const _abi = { +const abi = { "encoding": "1", "types": [ { @@ -89,24 +86,19 @@ const _abi = { "offset": 640 } ] -} - -const _bin = '0x000' - -export const MyScriptAbi__factory = { - - abi: _abi, - bin: _bin, +}; - createInstance(wallet: Account) { +const bytecode = '0x000'; - const script = new Script< - MyScriptAbiInputs, - MyScriptAbiOutput - >(_bin, _abi, wallet); +export class MyScript extends Script { - return script; + static readonly abi = abi; + static readonly bytecode = bytecode; + constructor(wallet: Account) { + super< + MyScriptInputs, + MyScriptOutput + >(bytecode, abi, wallet); } - } diff --git a/packages/abi-typegen/test/fixtures/templates/script/factory.hbs b/packages/abi-typegen/test/fixtures/templates/script/main.hbs similarity index 91% rename from packages/abi-typegen/test/fixtures/templates/script/factory.hbs rename to packages/abi-typegen/test/fixtures/templates/script/main.hbs index ca4c4151756..e0329221387 100644 --- a/packages/abi-typegen/test/fixtures/templates/script/factory.hbs +++ b/packages/abi-typegen/test/fixtures/templates/script/main.hbs @@ -1,8 +1,5 @@ /* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ - /* Fuels version: 11.11.11 Forc version: 22.22.22 @@ -26,10 +23,10 @@ export type MyGenericStructOutput = MyGenericStructInput; export type ScoreInput = { user: BigNumberish, points: BigNumberish }; export type ScoreOutput = { user: number, points: number }; -type MyScriptAbiInputs = [vec: Vec, enm: MyGenericEnumInput, opt: Option, res: Result, BigNumberish>]; -type MyScriptAbiOutput = boolean; +type MyScriptInputs = [vec: Vec, enm: MyGenericEnumInput, opt: Option, res: Result, BigNumberish>]; +type MyScriptOutput = boolean; -const _abi = { +const abi = { "encoding": "1", "types": [ { @@ -286,24 +283,19 @@ const _abi = { "loggedTypes": [], "messagesTypes": [], "configurables": [] -} - -const _bin = '0x000' +}; -export const MyScriptAbi__factory = { +const bytecode = '0x000'; - abi: _abi, - bin: _bin, +export class MyScript extends Script { - createInstance(wallet: Account) { - - const script = new Script< - MyScriptAbiInputs, - MyScriptAbiOutput - >(_bin, _abi, wallet); - - return script; + static readonly abi = abi; + static readonly bytecode = bytecode; + constructor(wallet: Account) { + super< + MyScriptInputs, + MyScriptOutput + >(bytecode, abi, wallet); } - } From 331ffd4ed13af93a43baf5249137621884609d79 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sun, 21 Jul 2024 18:18:28 -0300 Subject: [PATCH 19/95] Fixing a bunch of tests --- .../src/app/page.tsx | 4 +- .../src/app/predicate/page.tsx | 8 +-- .../src/app/script/page.tsx | 4 +- apps/demo-bun-fuels/src/bun.test.ts | 29 +++++---- apps/demo-typegen/predicate/Forc.toml | 2 +- apps/demo-typegen/script/Forc.toml | 2 +- apps/demo-typegen/src/demo.test.ts | 44 ++++++------- .../create-fuels/decrement_counter.test.ts | 6 +- .../guide/encoding/encode-and-decode.test.ts | 2 +- .../testing/launching-a-test-node.test.ts | 10 +-- .../guide/fuels-cli/using-generated-types.md | 2 +- .../fuel-gauge/src/advanced-logging.test.ts | 62 ++++++++----------- packages/fuel-gauge/src/auth-testing.test.ts | 10 ++- .../fuel-gauge/src/bytecode-sway-lib.test.ts | 8 +-- packages/fuel-gauge/src/bytes.test.ts | 18 +++--- .../fuel-gauge/src/call-test-contract.test.ts | 4 +- .../src/configurable-contract.test.ts | 4 +- .../fuel-gauge/src/contract-factory.test.ts | 25 ++++---- packages/fuel-gauge/src/contract.test.ts | 33 ++++------ .../fuel-gauge/src/coverage-contract.test.ts | 4 +- packages/fuel-gauge/src/doc-examples.test.ts | 18 +++--- .../src/dry-run-multiple-txs.test.ts | 24 +++---- packages/fuel-gauge/src/e2e-script.test.ts | 4 +- packages/fuel-gauge/src/edge-cases.test.ts | 4 +- packages/fuel-gauge/src/fee.test.ts | 19 +++--- .../src/generic-types-contract.test.ts | 4 +- .../src/is-function-readonly.test.ts | 4 +- packages/fuel-gauge/src/min-gas.test.ts | 18 +++--- .../src/multi-token-contract.test.ts | 6 +- packages/fuel-gauge/src/options.test.ts | 6 +- .../fuel-gauge/src/payable-annotation.test.ts | 4 +- packages/fuel-gauge/src/policies.test.ts | 26 +++----- .../src/predicate-conditional-inputs.test.ts | 6 +- .../src/predicate/predicate-arguments.test.ts | 37 ++++++----- .../predicate/predicate-configurables.test.ts | 35 +++++------ .../predicate/predicate-estimations.test.ts | 32 +++++----- .../predicate/predicate-evaluations.test.ts | 9 +-- .../src/predicate/predicate-general.test.ts | 6 +- .../predicate/predicate-input-data.test.ts | 6 +- .../predicate/predicate-invalidations.test.ts | 10 +-- .../predicate-populate-witness.test.ts | 41 ++++++------ .../predicate/predicate-with-contract.test.ts | 18 ++---- .../predicate/predicate-with-script.test.ts | 13 ++-- packages/fuel-gauge/src/raw-slice.test.ts | 14 ++--- .../src/reentrant-contract-calls.test.ts | 18 +++--- packages/fuel-gauge/src/revert-error.test.ts | 6 +- .../fuel-gauge/src/script-main-args.test.ts | 18 +++--- .../src/script-with-configurable.test.ts | 18 +++--- .../src/script-with-vectors.test.ts | 16 ++--- .../fuel-gauge/src/std-lib-string.test.ts | 14 ++--- .../src/storage-test-contract.test.ts | 8 +-- packages/fuel-gauge/src/str-slice.test.ts | 12 ++-- .../src/token-test-contract.test.ts | 10 +-- .../src/transaction-summary.test.ts | 18 +++--- packages/fuel-gauge/src/vector-types.test.ts | 14 ++--- packages/fuel-gauge/src/vectors.test.ts | 4 +- packages/fuels/test/features/build.test.ts | 12 ++-- packages/fuels/test/utils/runCommands.ts | 2 +- templates/nextjs/src/app/page.tsx | 4 +- templates/nextjs/src/app/predicate/page.tsx | 8 +-- templates/nextjs/src/app/script/page.tsx | 4 +- templates/nextjs/test/contract.test.ts | 4 +- templates/nextjs/test/predicate.test.ts | 4 +- templates/nextjs/test/script.test.ts | 4 +- 64 files changed, 383 insertions(+), 460 deletions(-) diff --git a/apps/create-fuels-counter-guide/src/app/page.tsx b/apps/create-fuels-counter-guide/src/app/page.tsx index 069c4745971..c129b33f9c8 100644 --- a/apps/create-fuels-counter-guide/src/app/page.tsx +++ b/apps/create-fuels-counter-guide/src/app/page.tsx @@ -1,7 +1,7 @@ "use client"; import type { TestContractAbi } from "@/sway-api"; -import { TestContractAbi__factory } from "@/sway-api"; +import { TestContractAbi } from "@/sway-api"; import contractIds from "@/sway-api/contract-ids.json"; import { FuelLogo } from "@/components/FuelLogo"; import { bn } from "fuels"; @@ -32,7 +32,7 @@ export default function Home() { useAsync(async () => { if (wallet) { // Create a new instance of the contract - const testContract = TestContractAbi__factory.connect(contractId, wallet); + const testContract = TestContractAbi.connect(contractId, wallet); setContract(testContract); // Read the current value of the counter diff --git a/apps/create-fuels-counter-guide/src/app/predicate/page.tsx b/apps/create-fuels-counter-guide/src/app/predicate/page.tsx index 1b2804cd27b..b680b82f9a7 100644 --- a/apps/create-fuels-counter-guide/src/app/predicate/page.tsx +++ b/apps/create-fuels-counter-guide/src/app/predicate/page.tsx @@ -5,7 +5,7 @@ import { FuelLogo } from "@/components/FuelLogo"; import { Input } from "@/components/Input"; import { Link } from "@/components/Link"; import { useActiveWallet } from "@/hooks/useActiveWallet"; -import { TestPredicateAbi__factory } from "@/sway-api/predicates/index"; +import { TestPredicateAbi } from "@/sway-api/predicates/index"; import { BN, InputValue, Predicate } from "fuels"; import { bn } from "fuels"; import { useState } from "react"; @@ -27,7 +27,7 @@ export default function PredicateExample() { if (wallet) { baseAssetId = wallet.provider.getBaseAssetId(); // Initialize a new predicate instance - const predicate = TestPredicateAbi__factory.createInstance( + const predicate = TestPredicateAbi.createInstance( wallet.provider, ); setPredicate(predicate); @@ -65,7 +65,7 @@ export default function PredicateExample() { } // Initialize a new predicate instance with the entered pin - const reInitializePredicate = TestPredicateAbi__factory.createInstance( + const reInitializePredicate = TestPredicateAbi.createInstance( wallet.provider, [bn(pin)], ); @@ -124,7 +124,7 @@ export default function PredicateExample() { const configurable = { PIN: bn(pin) }; // instantiate predicate with configurable constants - const reInitializePredicate = TestPredicateAbi__factory.createInstance(wallet.provider, [bn(configurable.PIN)], configurable); + const reInitializePredicate = TestPredicateAbi.createInstance(wallet.provider, [bn(configurable.PIN)], configurable); if (!reInitializePredicate) { return toast.error("Failed to initialize predicate"); diff --git a/apps/create-fuels-counter-guide/src/app/script/page.tsx b/apps/create-fuels-counter-guide/src/app/script/page.tsx index 824a836a350..8ce587c699e 100644 --- a/apps/create-fuels-counter-guide/src/app/script/page.tsx +++ b/apps/create-fuels-counter-guide/src/app/script/page.tsx @@ -5,7 +5,7 @@ import { FuelLogo } from "@/components/FuelLogo"; import { Input } from "@/components/Input"; import { Link } from "@/components/Link"; import { useActiveWallet } from "@/hooks/useActiveWallet"; -import { TestScriptAbi__factory } from "@/sway-api"; +import { TestScriptAbi } from "@/sway-api"; import { BN, BigNumberish, Script, bn } from "fuels"; import { useState } from "react"; import toast from "react-hot-toast"; @@ -21,7 +21,7 @@ export default function ScriptExample() { useAsync(async () => { if (wallet) { // Initialize script instance - const script = TestScriptAbi__factory.createInstance(wallet); + const script = TestScriptAbi.createInstance(wallet); setScript(script); } }, [wallet]); diff --git a/apps/demo-bun-fuels/src/bun.test.ts b/apps/demo-bun-fuels/src/bun.test.ts index 6af92e2dbbc..34f598980b6 100644 --- a/apps/demo-bun-fuels/src/bun.test.ts +++ b/apps/demo-bun-fuels/src/bun.test.ts @@ -8,8 +8,7 @@ import { ContractFactory, Provider, toHex, Wallet, FUEL_NETWORK_URL } from 'fuels'; import { generateTestWallet, safeExec } from 'fuels/test-utils'; -import { SampleAbi__factory } from './sway-programs-api'; -import bytecode from './sway-programs-api/contracts/SampleAbi.hex'; +import { Sample, SampleFactory } from './sway-programs-api'; let baseAssetId: string; @@ -27,7 +26,7 @@ describe('ExampleContract', () => { const wallet = await generateTestWallet(provider, [[500_000, baseAssetId]]); // Deploy - const factory = new ContractFactory(bytecode, SampleAbi__factory.abi, wallet); + const factory = new SampleFactory(wallet); const { waitForResult } = await factory.deployContract(); const { contract } = await waitForResult(); @@ -41,7 +40,7 @@ describe('ExampleContract', () => { expect(value.toHex()).toEqual(toHex(1337)); // You can also make a call using the factory - const contractInstance = SampleAbi__factory.connect(contract.id, wallet); + const contractInstance = new Sample(contract.id, wallet); const call2 = await contractInstance.functions.return_input(1337).call(); // Wait for result @@ -54,7 +53,7 @@ describe('ExampleContract', () => { const wallet = await generateTestWallet(provider, [[500_000, baseAssetId]]); // Deploy - const deploy = await SampleAbi__factory.deployContract(bytecode, wallet); + const deploy = await SampleFactory.deploy(wallet); const { contract } = await deploy.waitForResult(); // Call @@ -72,10 +71,10 @@ describe('ExampleContract', () => { const fundedWallet = await generateTestWallet(provider, [[500_000, baseAssetId]]); const unfundedWallet = Wallet.generate({ provider }); - const factory = new ContractFactory(bytecode, SampleAbi__factory.abi, fundedWallet); - const { waitForResult } = await factory.deployContract(); - const { contract } = await waitForResult(); - const contractInstance = SampleAbi__factory.connect(contract.id, unfundedWallet); + const deploy = await SampleFactory.deploy(wallet); + const { contract } = await deploy.waitForResult(); + + const contractInstance = new Sample(contract.id, unfundedWallet); const { error } = await safeExec(() => contractInstance.functions.return_input(1337).simulate() @@ -89,10 +88,10 @@ describe('ExampleContract', () => { const fundedWallet = await generateTestWallet(provider, [[500_000, baseAssetId]]); const unfundedWallet = Wallet.generate({ provider }); - const factory = new ContractFactory(bytecode, SampleAbi__factory.abi, fundedWallet); - const { waitForResult } = await factory.deployContract(); - const { contract } = await waitForResult(); - const contractInstance = SampleAbi__factory.connect(contract.id, unfundedWallet); + const deploy = await SampleFactory.deploy(fundedWallet); + const { contract } = await deploy.waitForResult(); + + const contractInstance = new Sample(contract.id, unfundedWallet); await expect(contractInstance.functions.return_input(1337).dryRun()).resolves.not.toThrow(); }); @@ -100,13 +99,13 @@ describe('ExampleContract', () => { it('should demo how to use generated files just fine', async () => { const provider = await Provider.create(FUEL_NETWORK_URL); const wallet = await generateTestWallet(provider, [[500_000, baseAssetId]]); - const { waitForResult } = await SampleAbi__factory.deployContract(bytecode, wallet); + const { waitForResult } = await SampleFactory.deploy(wallet); const { contract: depoloyed } = await waitForResult(); const contractsIds = { sample: depoloyed.id, }; - const contract = SampleAbi__factory.connect(contractsIds.sample, wallet); + const contract = SampleAbi.connect(contractsIds.sample, wallet); const { value } = await contract.functions.return_input(1337).dryRun(); diff --git a/apps/demo-typegen/predicate/Forc.toml b/apps/demo-typegen/predicate/Forc.toml index b3325bf1458..d8f3952eef7 100644 --- a/apps/demo-typegen/predicate/Forc.toml +++ b/apps/demo-typegen/predicate/Forc.toml @@ -2,6 +2,6 @@ authors = ["Fuel Labs "] entry = "main.sw" license = "Apache-2.0" -name = "predicate" +name = "demo-predicate" [dependencies] diff --git a/apps/demo-typegen/script/Forc.toml b/apps/demo-typegen/script/Forc.toml index 937fd72852b..e27973c3873 100644 --- a/apps/demo-typegen/script/Forc.toml +++ b/apps/demo-typegen/script/Forc.toml @@ -2,6 +2,6 @@ authors = ["Fuel Labs "] entry = "main.sw" license = "Apache-2.0" -name = "script" +name = "demo-script" [dependencies] diff --git a/apps/demo-typegen/src/demo.test.ts b/apps/demo-typegen/src/demo.test.ts index ad9b7b66dcf..aacfc7d9ddc 100644 --- a/apps/demo-typegen/src/demo.test.ts +++ b/apps/demo-typegen/src/demo.test.ts @@ -1,14 +1,13 @@ // #region Testing-in-ts-ts -import { ContractFactory, toHex, Address, Wallet } from 'fuels'; +import { toHex, Address, Wallet } from 'fuels'; import { launchTestNode, safeExec } from 'fuels/test-utils'; import storageSlots from '../contract/out/release/demo-contract-storage_slots.json'; -import { DemoContractAbi__factory } from './contract-types'; -import bytecode from './contract-types/DemoContractAbi.hex'; -import type { PredicateAbiInputs } from './predicate-types'; -import { PredicateAbi__factory } from './predicate-types'; -import { ScriptAbi__factory } from './script-types'; +import { DemoContract, DemoContractFactory } from './contract-types'; +import type { PredicateInputs } from './predicate-types'; +import { Predicate } from './predicate-types'; +import { Script } from './script-types'; /** * @group node @@ -25,9 +24,10 @@ describe('ExampleContract', () => { // #region typegen-demo-contract-storage-slots // #context import storageSlots from './contract/out/debug/demo-contract-storage_slots.json'; - const { waitForResult } = await DemoContractAbi__factory.deployContract(bytecode, wallet, { + const { waitForResult } = await DemoContractFactory.deploy(wallet, { storageSlots, }); + const { contract } = await waitForResult(); // #endregion typegen-demo-contract-storage-slots @@ -41,7 +41,7 @@ describe('ExampleContract', () => { } = launched; // Deploy - const factory = new ContractFactory(bytecode, DemoContractAbi__factory.abi, wallet); + const factory = new DemoContractFactory(wallet); const deploy = await factory.deployContract(); const { contract } = await deploy.waitForResult(); const contractId = contract.id; @@ -55,9 +55,9 @@ describe('ExampleContract', () => { // You can also make a call using the factory // #region typegen-demo-contract-factory-connect - // #context import { DemoContractAbi__factory } from './types'; + // #context import { DemoContractAbi } from './types'; - const contractInstance = DemoContractAbi__factory.connect(contractId, wallet); + const contractInstance = new DemoContract(contractId, wallet); const call2 = await contractInstance.functions.return_input(1337).call(); const { value: v2 } = await call2.waitForResult(); // #endregion typegen-demo-contract-factory-connect @@ -72,11 +72,11 @@ describe('ExampleContract', () => { } = launched; // #region typegen-demo-contract-factory-deploy - // #context import { DemoContractAbi__factory } from './types'; + // #context import { DemoContractAbi } from './types'; // #context import bytecode from './types/DemoContractAbi.hex'; // Deploy - const deploy = await DemoContractAbi__factory.deployContract(bytecode, wallet); + const deploy = await DemoContractFactory.deploy(wallet); const { contract } = await deploy.waitForResult(); // #endregion typegen-demo-contract-factory-deploy @@ -101,10 +101,10 @@ it('should throw when simulating via contract factory with wallet with no resour const unfundedWallet = Wallet.generate({ provider }); - const factory = new ContractFactory(bytecode, DemoContractAbi__factory.abi, fundedWallet); + const factory = new DemoContractFactory(fundedWallet); const { waitForResult } = await factory.deployContract(); const { contract } = await waitForResult(); - const contractInstance = DemoContractAbi__factory.connect(contract.id, unfundedWallet); + const contractInstance = new DemoContract(contract.id, unfundedWallet); const { error } = await safeExec(() => contractInstance.functions.return_input(1337).simulate()); @@ -120,10 +120,10 @@ it('should not throw when dry running via contract factory with wallet with no r } = launched; const unfundedWallet = Wallet.generate({ provider }); - const factory = new ContractFactory(bytecode, DemoContractAbi__factory.abi, fundedWallet); + const factory = new DemoContractFactory(fundedWallet); const { waitForResult } = await factory.deployContract(); const { contract } = await waitForResult(); - const contractInstance = DemoContractAbi__factory.connect(contract.id, unfundedWallet); + const contractInstance = new DemoContract(contract.id, unfundedWallet); await expect(contractInstance.functions.return_input(1337).dryRun()).resolves.not.toThrow(); }); @@ -136,9 +136,9 @@ test('Example script', async () => { } = launched; // #region typegen-demo-script - // #context import { ScriptAbi__factory } from './types'; + // #context import { ScriptAbi } from './types'; - const script = ScriptAbi__factory.createInstance(wallet); + const script = new Script(wallet); const { waitForResult } = await script.functions.main().call(); const { value } = await waitForResult(); // #endregion typegen-demo-script @@ -148,7 +148,7 @@ test('Example script', async () => { test('Example predicate', async () => { // #region typegen-demo-predicate // #context import type { PredicateAbiInputs } from './types'; - // #context import { PredicateAbi__factory } from './types'; + // #context import { PredicateAbi } from './types'; // In this exchange, we are first transferring some coins to the predicate using launched = await launchTestNode(); @@ -160,10 +160,10 @@ test('Example predicate', async () => { const receiver = Wallet.fromAddress(Address.fromRandom(), provider); - const predicateData: PredicateAbiInputs = []; - const predicate = PredicateAbi__factory.createInstance(provider, predicateData); + const predicateData: PredicateInputs = []; + const predicate = new Predicate(provider, predicateData); - const tx = await wallet.transfer(predicate.address, 200_000, provider.getBaseAssetId()); + const tx = await wallet.transfer(predicate., 200_000, provider.getBaseAssetId()); const { isStatusSuccess } = await tx.wait(); // Then we are transferring some coins from the predicate to a random address (receiver) diff --git a/apps/docs-snippets/src/guide/create-fuels/decrement_counter.test.ts b/apps/docs-snippets/src/guide/create-fuels/decrement_counter.test.ts index 6081f6c4d27..5050967ad4b 100644 --- a/apps/docs-snippets/src/guide/create-fuels/decrement_counter.test.ts +++ b/apps/docs-snippets/src/guide/create-fuels/decrement_counter.test.ts @@ -1,7 +1,7 @@ import { launchTestNode } from 'fuels/test-utils'; import { describe, test, expect } from 'vitest'; -import { CounterAbi__factory } from '../../../test/typegen'; +import { CounterAbi } from '../../../test/typegen'; import bytecode from '../../../test/typegen/contracts/CounterAbi.hex'; /** @@ -10,7 +10,7 @@ import bytecode from '../../../test/typegen/contracts/CounterAbi.hex'; */ describe('Counter Contract', () => { // #region decrement-counter - // #context import { CounterAbi__factory } from './sway-programs-api'; + // #context import { CounterAbi } from './sway-programs-api'; // #context import bytecode from './sway-programs-api/contracts/CounterAbi.hex'; test('calls the decrement_counter function', async () => { @@ -21,7 +21,7 @@ describe('Counter Contract', () => { // because we are instantiating it with the `using` keyword. contractsConfigs: [ { - deployer: CounterAbi__factory, + deployer: CounterAbi, bytecode, }, ], diff --git a/apps/docs-snippets/src/guide/encoding/encode-and-decode.test.ts b/apps/docs-snippets/src/guide/encoding/encode-and-decode.test.ts index 94a3ec18b31..2daba90da91 100644 --- a/apps/docs-snippets/src/guide/encoding/encode-and-decode.test.ts +++ b/apps/docs-snippets/src/guide/encoding/encode-and-decode.test.ts @@ -11,7 +11,7 @@ import type { Account, JsonAbi, JsonAbiArgument, TransactionResultReturnDataRece import { generateTestWallet } from 'fuels/test-utils'; import abiSnippet from '../../../test/fixtures/abi/encode-and-decode.jsonc'; -import { SumScriptAbi__factory as factory } from '../../../test/typegen/scripts/factories/SumScriptAbi__factory'; +import { SumScriptAbi as factory } from '../../../test/typegen/scripts/factories/SumScriptAbi'; /** * @group node diff --git a/apps/docs-snippets/src/guide/testing/launching-a-test-node.test.ts b/apps/docs-snippets/src/guide/testing/launching-a-test-node.test.ts index 355259e43d7..913207c6408 100644 --- a/apps/docs-snippets/src/guide/testing/launching-a-test-node.test.ts +++ b/apps/docs-snippets/src/guide/testing/launching-a-test-node.test.ts @@ -3,7 +3,7 @@ import { WalletUnlocked } from 'fuels'; import { AssetId, TestMessage, launchTestNode } from 'fuels/test-utils'; import { join } from 'path'; -import { CounterAbi__factory as TestContract__factory } from '../../../test/typegen/contracts'; +import { CounterAbi as TestContract } from '../../../test/typegen/contracts'; import bytecode from '../../../test/typegen/contracts/CounterAbi.hex'; /** @@ -51,13 +51,13 @@ describe('launching a test node', () => { // #region basic-example // #import { launchTestNode }; - // #context import { TestContract__factory } from 'path/to/typegen/output'; + // #context import { TestContract } from 'path/to/typegen/output'; // #context import bytecode from 'path/to/typegen/output/TestContract.hex.ts'; using launched = await launchTestNode({ contractsConfigs: [ { - deployer: TestContract__factory, + deployer: TestContract, bytecode, }, ], @@ -81,7 +81,7 @@ describe('launching a test node', () => { // #region advanced-example // #import { launchTestNode, AssetId, TestMessage }; - // #context import { TestContract__factory } from 'path/to/typegen/output'; + // #context import { TestContract } from 'path/to/typegen/output'; // #context import bytecode from 'path/to/typegen/output/TestContract.hex.ts'; const assets = AssetId.random(2); @@ -97,7 +97,7 @@ describe('launching a test node', () => { }, contractsConfigs: [ { - deployer: TestContract__factory, + deployer: TestContract, bytecode, walletIndex: 3, options: { storageSlots: [] }, diff --git a/apps/docs/src/guide/fuels-cli/using-generated-types.md b/apps/docs/src/guide/fuels-cli/using-generated-types.md index a280a72e292..2ba5f58c2da 100644 --- a/apps/docs/src/guide/fuels-cli/using-generated-types.md +++ b/apps/docs/src/guide/fuels-cli/using-generated-types.md @@ -20,7 +20,7 @@ Let's use the Contract class to deploy a contract: ### Autoloading of Storage Slots -Typegen tries to resolve, auto-load, and embed the [Storage Slots](../contracts/storage-slots.md) for your Contract within the `MyContract__factory` class. Still, you can override it alongside other options from [`DeployContractOptions`](https://github.com/FuelLabs/fuels-ts/blob/a64b67b9fb2d7f764ab9151a21d2266bf2df3643/packages/contract/src/contract-factory.ts#L19-L24), when calling the `deployContract` method: +Typegen tries to resolve, auto-load, and embed the [Storage Slots](../contracts/storage-slots.md) for your Contract within the `MyContract` class. Still, you can override it alongside other options from [`DeployContractOptions`](https://github.com/FuelLabs/fuels-ts/blob/a64b67b9fb2d7f764ab9151a21d2266bf2df3643/packages/contract/src/contract-factory.ts#L19-L24), when calling the `deployContract` method: <<< @/../../demo-typegen/src/demo.test.ts#typegen-demo-contract-storage-slots{ts:line-numbers} diff --git a/packages/fuel-gauge/src/advanced-logging.test.ts b/packages/fuel-gauge/src/advanced-logging.test.ts index ec5512b9da5..d30d83130ba 100644 --- a/packages/fuel-gauge/src/advanced-logging.test.ts +++ b/packages/fuel-gauge/src/advanced-logging.test.ts @@ -2,13 +2,13 @@ import type { FuelError } from '@fuel-ts/errors'; import { Script, bn } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { ScriptCallContractAbi__factory } from '../test/typegen'; +import { ScriptCallContractAbi } from '../test/typegen'; import { - AdvancedLoggingAbi__factory, - AdvancedLoggingOtherContractAbi__factory, - CallTestContractAbi__factory, - ConfigurableContractAbi__factory, - CoverageContractAbi__factory, + AdvancedLoggingAbi, + AdvancedLoggingOtherContractAbi, + CallTestContractAbi, + ConfigurableContractAbi, + CoverageContractAbi, } from '../test/typegen/contracts'; import AdvancedLoggingAbiHex from '../test/typegen/contracts/AdvancedLoggingAbi.hex'; import AdvancedLoggingOtherContractAbiHex from '../test/typegen/contracts/AdvancedLoggingOtherContractAbi.hex'; @@ -25,7 +25,7 @@ import { launchTestContract } from './utils'; describe('Advanced Logging', () => { it('can get log data', async () => { using advancedLogContract = await launchTestContract({ - deployer: AdvancedLoggingAbi__factory, + deployer: AdvancedLoggingAbi, bytecode: AdvancedLoggingAbiHex, }); @@ -75,7 +75,7 @@ describe('Advanced Logging', () => { it('can get log data from require [condition=true]', async () => { using advancedLogContract = await launchTestContract({ - deployer: AdvancedLoggingAbi__factory, + deployer: AdvancedLoggingAbi, bytecode: AdvancedLoggingAbiHex, }); @@ -91,7 +91,7 @@ describe('Advanced Logging', () => { it('can get log data from require [condition=false]', async () => { using advancedLogContract = await launchTestContract({ - deployer: AdvancedLoggingAbi__factory, + deployer: AdvancedLoggingAbi, bytecode: AdvancedLoggingAbiHex, }); @@ -126,9 +126,9 @@ describe('Advanced Logging', () => { it('can get log data from a downstream Contract', async () => { using launched = await launchTestNode({ contractsConfigs: [ - { deployer: AdvancedLoggingAbi__factory, bytecode: AdvancedLoggingAbiHex }, + { deployer: AdvancedLoggingAbi, bytecode: AdvancedLoggingAbiHex }, { - deployer: AdvancedLoggingOtherContractAbi__factory, + deployer: AdvancedLoggingOtherContractAbi, bytecode: AdvancedLoggingOtherContractAbiHex, }, ], @@ -174,14 +174,14 @@ describe('Advanced Logging', () => { it('when using InvacationScope', async () => { using launched = await launchTestNode({ contractsConfigs: [ - { deployer: AdvancedLoggingAbi__factory, bytecode: AdvancedLoggingAbiHex }, + { deployer: AdvancedLoggingAbi, bytecode: AdvancedLoggingAbiHex }, { - deployer: AdvancedLoggingOtherContractAbi__factory, + deployer: AdvancedLoggingOtherContractAbi, bytecode: AdvancedLoggingOtherContractAbiHex, }, - { deployer: CallTestContractAbi__factory, bytecode: CallTestContractAbiHex }, - { deployer: ConfigurableContractAbi__factory, bytecode: ConfigurableContractAbiHex }, - { deployer: CoverageContractAbi__factory, bytecode: CoverageContractAbiHex }, + { deployer: CallTestContractAbi, bytecode: CallTestContractAbiHex }, + { deployer: ConfigurableContractAbi, bytecode: ConfigurableContractAbiHex }, + { deployer: CoverageContractAbi, bytecode: CoverageContractAbiHex }, ], }); @@ -216,14 +216,14 @@ describe('Advanced Logging', () => { it('when using ScriptTransactionRequest', async () => { using launched = await launchTestNode({ contractsConfigs: [ - { deployer: AdvancedLoggingAbi__factory, bytecode: AdvancedLoggingAbiHex }, + { deployer: AdvancedLoggingAbi, bytecode: AdvancedLoggingAbiHex }, { - deployer: AdvancedLoggingOtherContractAbi__factory, + deployer: AdvancedLoggingOtherContractAbi, bytecode: AdvancedLoggingOtherContractAbiHex, }, - { deployer: CallTestContractAbi__factory, bytecode: CallTestContractAbiHex }, - { deployer: ConfigurableContractAbi__factory, bytecode: ConfigurableContractAbiHex }, - { deployer: CoverageContractAbi__factory, bytecode: CoverageContractAbiHex }, + { deployer: CallTestContractAbi, bytecode: CallTestContractAbiHex }, + { deployer: ConfigurableContractAbi, bytecode: ConfigurableContractAbiHex }, + { deployer: CoverageContractAbi, bytecode: CoverageContractAbiHex }, ], }); @@ -288,9 +288,9 @@ describe('Advanced Logging', () => { it('when using InvocationScope', async () => { using launched = await launchTestNode({ contractsConfigs: [ - { deployer: AdvancedLoggingAbi__factory, bytecode: AdvancedLoggingAbiHex }, + { deployer: AdvancedLoggingAbi, bytecode: AdvancedLoggingAbiHex }, { - deployer: AdvancedLoggingOtherContractAbi__factory, + deployer: AdvancedLoggingOtherContractAbi, bytecode: AdvancedLoggingOtherContractAbiHex, }, ], @@ -301,11 +301,7 @@ describe('Advanced Logging', () => { wallets: [wallet], } = launched; - const script = new Script( - ScriptCallContractAbi__factory.bin, - ScriptCallContractAbi__factory.abi, - wallet - ); + const script = new Script(ScriptCallContract.bytecode, ScriptCallContractAbi.abi, wallet); const { waitForResult } = await script.functions .main(advancedLogContract.id.toB256(), otherAdvancedLogContract.id.toB256(), amount) @@ -320,9 +316,9 @@ describe('Advanced Logging', () => { it('when using ScriptTransactionRequest', async () => { using launched = await launchTestNode({ contractsConfigs: [ - { deployer: AdvancedLoggingAbi__factory, bytecode: AdvancedLoggingAbiHex }, + { deployer: AdvancedLoggingAbi, bytecode: AdvancedLoggingAbiHex }, { - deployer: AdvancedLoggingOtherContractAbi__factory, + deployer: AdvancedLoggingOtherContractAbi, bytecode: AdvancedLoggingOtherContractAbiHex, }, ], @@ -333,11 +329,7 @@ describe('Advanced Logging', () => { wallets: [wallet], } = launched; - const script = new Script( - ScriptCallContractAbi__factory.bin, - ScriptCallContractAbi__factory.abi, - wallet - ); + const script = new Script(ScriptCallContract.bytecode, ScriptCallContractAbi.abi, wallet); const request = await script.functions .main(advancedLogContract.id.toB256(), otherAdvancedLogContract.id.toB256(), amount) diff --git a/packages/fuel-gauge/src/auth-testing.test.ts b/packages/fuel-gauge/src/auth-testing.test.ts index 52bd1a58962..703c202d332 100644 --- a/packages/fuel-gauge/src/auth-testing.test.ts +++ b/packages/fuel-gauge/src/auth-testing.test.ts @@ -1,7 +1,7 @@ import { getRandomB256 } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { AuthTestingContractAbi__factory } from '../test/typegen/contracts'; +import { AuthTestingContractAbi } from '../test/typegen/contracts'; import AuthTestingAbiHex from '../test/typegen/contracts/AuthTestingContractAbi.hex'; import { launchTestContract } from './utils'; @@ -13,7 +13,7 @@ import { launchTestContract } from './utils'; describe('Auth Testing', () => { it('can get is_caller_external', async () => { using contractInstance = await launchTestContract({ - deployer: AuthTestingContractAbi__factory, + deployer: AuthTestingContractAbi, bytecode: AuthTestingAbiHex, }); @@ -25,9 +25,7 @@ describe('Auth Testing', () => { it('can check_msg_sender [with correct id]', async () => { using launched = await launchTestNode({ - contractsConfigs: [ - { deployer: AuthTestingContractAbi__factory, bytecode: AuthTestingAbiHex }, - ], + contractsConfigs: [{ deployer: AuthTestingContractAbi, bytecode: AuthTestingAbiHex }], }); const { @@ -46,7 +44,7 @@ describe('Auth Testing', () => { it('can check_msg_sender [with incorrect id]', async () => { using contractInstance = await launchTestContract({ - deployer: AuthTestingContractAbi__factory, + deployer: AuthTestingContractAbi, bytecode: AuthTestingAbiHex, }); diff --git a/packages/fuel-gauge/src/bytecode-sway-lib.test.ts b/packages/fuel-gauge/src/bytecode-sway-lib.test.ts index 0f9485d143f..981e84d979b 100644 --- a/packages/fuel-gauge/src/bytecode-sway-lib.test.ts +++ b/packages/fuel-gauge/src/bytecode-sway-lib.test.ts @@ -3,7 +3,7 @@ import { launchTestNode } from 'fuels/test-utils'; import { defaultPredicateAbi } from '../test/fixtures/abi/predicate'; import { defaultPredicateBytecode } from '../test/fixtures/bytecode/predicate'; -import { BytecodeSwayLibAbi__factory } from '../test/typegen/contracts'; +import { BytecodeSwayLibAbi } from '../test/typegen/contracts'; import BytecodeSwayLibAbiHex from '../test/typegen/contracts/BytecodeSwayLibAbi.hex'; import { launchTestContract } from './utils'; @@ -15,7 +15,7 @@ import { launchTestContract } from './utils'; describe('bytecode computations', () => { it('compute_bytecode_root', async () => { using contract = await launchTestContract({ - deployer: BytecodeSwayLibAbi__factory, + deployer: BytecodeSwayLibAbi, bytecode: BytecodeSwayLibAbiHex, }); @@ -33,7 +33,7 @@ describe('bytecode computations', () => { it('verify_contract_bytecode', async () => { using contract = await launchTestContract({ - deployer: BytecodeSwayLibAbi__factory, + deployer: BytecodeSwayLibAbi, bytecode: BytecodeSwayLibAbiHex, }); @@ -55,7 +55,7 @@ describe('bytecode computations', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: BytecodeSwayLibAbi__factory, + deployer: BytecodeSwayLibAbi, bytecode: BytecodeSwayLibAbiHex, }, ], diff --git a/packages/fuel-gauge/src/bytes.test.ts b/packages/fuel-gauge/src/bytes.test.ts index 5b950dbeb7d..0e35edd53e7 100644 --- a/packages/fuel-gauge/src/bytes.test.ts +++ b/packages/fuel-gauge/src/bytes.test.ts @@ -1,8 +1,8 @@ import { bn, Wallet, Address } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { PredicateBytesAbi__factory, ScriptBytesAbi__factory } from '../test/typegen'; -import { BytesAbi__factory } from '../test/typegen/contracts'; +import { PredicateBytesAbi, ScriptBytesAbi } from '../test/typegen'; +import { BytesAbi } from '../test/typegen/contracts'; import BytesAbiHex from '../test/typegen/contracts/BytesAbi.hex'; import { launchTestContract } from './utils'; @@ -14,7 +14,7 @@ import { launchTestContract } from './utils'; describe('Bytes Tests', () => { it('should test bytes output', async () => { using contractInstance = await launchTestContract({ - deployer: BytesAbi__factory, + deployer: BytesAbi, bytecode: BytesAbiHex, }); @@ -26,7 +26,7 @@ describe('Bytes Tests', () => { it('should test bytes output [100 items]', async () => { using contractInstance = await launchTestContract({ - deployer: BytesAbi__factory, + deployer: BytesAbi, bytecode: BytesAbiHex, }); @@ -38,7 +38,7 @@ describe('Bytes Tests', () => { it('should test bytes input', async () => { using contractInstance = await launchTestContract({ - deployer: BytesAbi__factory, + deployer: BytesAbi, bytecode: BytesAbiHex, }); @@ -52,7 +52,7 @@ describe('Bytes Tests', () => { it('should test bytes input [nested]', async () => { using contractInstance = await launchTestContract({ - deployer: BytesAbi__factory, + deployer: BytesAbi, bytecode: BytesAbiHex, }); const bytes = [40, 41, 42]; @@ -73,7 +73,7 @@ describe('Bytes Tests', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: BytesAbi__factory, + deployer: BytesAbi, bytecode: BytesAbiHex, }, ], @@ -89,7 +89,7 @@ describe('Bytes Tests', () => { const bytes = [40, 41, 42]; - const predicate = PredicateBytesAbi__factory.createInstance(wallet.provider, [ + const predicate = PredicateBytesAbi.createInstance(wallet.provider, [ { inner: [bytes, bytes], inner_enum: { Second: bytes }, @@ -138,7 +138,7 @@ describe('Bytes Tests', () => { const bytes = [40, 41, 42]; - const scriptInstance = ScriptBytesAbi__factory.createInstance(wallet); + const scriptInstance = ScriptBytesAbi.createInstance(wallet); const { waitForResult } = await scriptInstance.functions .main(1, { diff --git a/packages/fuel-gauge/src/call-test-contract.test.ts b/packages/fuel-gauge/src/call-test-contract.test.ts index 87fa0f729b0..1d071652b72 100644 --- a/packages/fuel-gauge/src/call-test-contract.test.ts +++ b/packages/fuel-gauge/src/call-test-contract.test.ts @@ -2,13 +2,13 @@ import type { Contract } from 'fuels'; import { BN, bn, toHex } from 'fuels'; import { ASSET_A } from 'fuels/test-utils'; -import { CallTestContractAbi__factory } from '../test/typegen/contracts'; +import { CallTestContractAbi } from '../test/typegen/contracts'; import bytecode from '../test/typegen/contracts/CallTestContractAbi.hex'; import { launchTestContract } from './utils'; function setupContract() { - return launchTestContract({ deployer: CallTestContractAbi__factory, bytecode }); + return launchTestContract({ deployer: CallTestContractAbi, bytecode }); } const U64_MAX = bn(2).pow(64).sub(1); diff --git a/packages/fuel-gauge/src/configurable-contract.test.ts b/packages/fuel-gauge/src/configurable-contract.test.ts index 1b95c486f8a..546e2c5317a 100644 --- a/packages/fuel-gauge/src/configurable-contract.test.ts +++ b/packages/fuel-gauge/src/configurable-contract.test.ts @@ -1,7 +1,7 @@ import { BN, getRandomB256 } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { ConfigurableContractAbi__factory } from '../test/typegen/contracts'; +import { ConfigurableContractAbi } from '../test/typegen/contracts'; import ConfigurableContractAbiHex from '../test/typegen/contracts/ConfigurableContractAbi.hex'; const defaultValues = { @@ -29,7 +29,7 @@ function setupContract(configurableConstants?: { [name: string]: unknown }) { return launchTestNode({ contractsConfigs: [ { - deployer: ConfigurableContractAbi__factory, + deployer: ConfigurableContractAbi, bytecode: ConfigurableContractAbiHex, options: { configurableConstants }, }, diff --git a/packages/fuel-gauge/src/contract-factory.test.ts b/packages/fuel-gauge/src/contract-factory.test.ts index 6d551a8ffb3..1174a012560 100644 --- a/packages/fuel-gauge/src/contract-factory.test.ts +++ b/packages/fuel-gauge/src/contract-factory.test.ts @@ -4,7 +4,7 @@ import { expectToThrowFuelError } from '@fuel-ts/errors/test-utils'; import { BN, bn, toHex, Interface, ContractFactory } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { StorageTestContractAbi__factory } from '../test/typegen/contracts'; +import { StorageTestContractAbi } from '../test/typegen/contracts'; import StorageTestContractAbiHex from '../test/typegen/contracts/StorageTestContractAbi.hex'; import { launchTestContract } from './utils'; @@ -16,7 +16,7 @@ import { launchTestContract } from './utils'; describe('Contract Factory', () => { it('Creates a factory from inputs that can return call results', async () => { using contract = await launchTestContract({ - deployer: StorageTestContractAbi__factory, + deployer: StorageTestContractAbi, bytecode: StorageTestContractAbiHex, }); expect(contract.interface).toBeInstanceOf(Interface); @@ -37,7 +37,7 @@ describe('Contract Factory', () => { it('Creates a factory from inputs that can return transaction results', async () => { using contract = await launchTestContract({ - deployer: StorageTestContractAbi__factory, + deployer: StorageTestContractAbi, bytecode: StorageTestContractAbiHex, }); @@ -85,7 +85,7 @@ describe('Contract Factory', () => { it('Creates a factory from inputs that can prepare call data', async () => { using contract = await launchTestContract({ - deployer: StorageTestContractAbi__factory, + deployer: StorageTestContractAbi, bytecode: StorageTestContractAbiHex, }); @@ -110,7 +110,7 @@ describe('Contract Factory', () => { const setFee = bn(120_000); const factory = new ContractFactory( StorageTestContractAbiHex, - StorageTestContractAbi__factory.abi, + StorageTestContractAbi.abi, wallet ); const spy = vi.spyOn(factory.account as Account, 'sendTransaction'); @@ -128,9 +128,9 @@ describe('Contract Factory', () => { it('Creates a contract with initial storage fixed var names', async () => { using contract = await launchTestContract({ - deployer: StorageTestContractAbi__factory, + deployer: StorageTestContractAbi, bytecode: StorageTestContractAbiHex, - storageSlots: StorageTestContractAbi__factory.storageSlots, + storageSlots: StorageTestContractAbi.storageSlots, }); const call1 = await contract.functions.return_var1().call(); @@ -167,7 +167,7 @@ describe('Contract Factory', () => { const factory = new ContractFactory( StorageTestContractAbiHex, - StorageTestContractAbi__factory.abi, + StorageTestContractAbi.abi, wallet ); const b256 = '0x626f0c36909faecc316056fca8be684ab0cd06afc63247dc008bdf9e433f927a'; @@ -191,14 +191,14 @@ describe('Contract Factory', () => { const factory = new ContractFactory( StorageTestContractAbiHex, - StorageTestContractAbi__factory.abi, + StorageTestContractAbi.abi, wallet ); const b256 = '0x626f0c36909faecc316056fca8be684ab0cd06afc63247dc008bdf9e433f927a'; const { waitForResult } = await factory.deployContract({ storageSlots: [ - ...StorageTestContractAbi__factory.storageSlots, // initializing from storage_slots.json + ...StorageTestContractAbi.storageSlots, // initializing from storage_slots.json { key: '0000000000000000000000000000000000000000000000000000000000000001', value: b256 }, // Initializing manual value ], }); @@ -234,10 +234,7 @@ describe('Contract Factory', () => { }); it('should throws if calls createTransactionRequest is called when provider is not set', async () => { - const factory = new ContractFactory( - StorageTestContractAbiHex, - StorageTestContractAbi__factory.abi - ); + const factory = new ContractFactory(StorageTestContractAbiHex, StorageTestContractAbi.abi); await expectToThrowFuelError( () => factory.createTransactionRequest(), diff --git a/packages/fuel-gauge/src/contract.test.ts b/packages/fuel-gauge/src/contract.test.ts index 672d9bd14a6..395fa5940b5 100644 --- a/packages/fuel-gauge/src/contract.test.ts +++ b/packages/fuel-gauge/src/contract.test.ts @@ -19,23 +19,20 @@ import type { JsonAbi, ScriptTransactionRequest, TransferParams } from 'fuels'; import { expectToThrowFuelError, ASSET_A, ASSET_B, launchTestNode } from 'fuels/test-utils'; import type { DeployContractConfig } from 'fuels/test-utils'; -import { - CallTestContractAbi__factory, - StorageTestContractAbi__factory, -} from '../test/typegen/contracts'; +import { CallTestContractAbi, StorageTestContractAbi } from '../test/typegen/contracts'; import CallTestContractAbiHex from '../test/typegen/contracts/CallTestContractAbi.hex'; import StorageTestContractAbiHex from '../test/typegen/contracts/StorageTestContractAbi.hex'; -import { PredicateTrueAbi__factory } from '../test/typegen/predicates/factories/PredicateTrueAbi__factory'; +import { PredicateTrueAbi } from '../test/typegen/predicates/factories/PredicateTrueAbi'; import { launchTestContract } from './utils'; const contractsConfigs: DeployContractConfig[] = [ { - deployer: CallTestContractAbi__factory, + deployer: CallTestContractAbi, bytecode: CallTestContractAbiHex, }, { - deployer: CallTestContractAbi__factory, + deployer: CallTestContractAbi, bytecode: CallTestContractAbiHex, }, ]; @@ -162,7 +159,7 @@ const AltToken = '0x010101010101010101010101010101010101010101010101010101010101 function setupTestContract() { return launchTestContract({ - deployer: CallTestContractAbi__factory, + deployer: CallTestContractAbi, bytecode: CallTestContractAbiHex, }); } @@ -745,7 +742,7 @@ describe('Contract', () => { const contract = new ContractFactory( StorageTestContractAbiHex, - StorageTestContractAbi__factory.abi, + StorageTestContractAbi.abi, wallet ); const { transactionRequest } = contract.createTransactionRequest(); @@ -929,7 +926,7 @@ describe('Contract', () => { const amountToPredicate = 500_000; const predicate = new Predicate({ - bytecode: PredicateTrueAbi__factory.bin, + bytecode: PredicateTrue.bytecode, provider, }); @@ -997,11 +994,7 @@ describe('Contract', () => { wallets: [wallet], } = launched; - const factory = new ContractFactory( - CallTestContractAbiHex, - CallTestContractAbi__factory.abi, - wallet - ); + const factory = new ContractFactory(CallTestContractAbiHex, CallTestContractAbi.abi, wallet); const { waitForResult } = await factory.deployContract(); const { contract } = await waitForResult(); @@ -1043,11 +1036,7 @@ describe('Contract', () => { wallets: [wallet], } = launched; - const factory = new ContractFactory( - CallTestContractAbiHex, - CallTestContractAbi__factory.abi, - wallet - ); + const factory = new ContractFactory(CallTestContractAbiHex, CallTestContractAbi.abi, wallet); const { waitForResult } = await factory.deployContract(); @@ -1178,7 +1167,7 @@ describe('Contract', () => { const factory = new ContractFactory( StorageTestContractAbiHex, - StorageTestContractAbi__factory.abi, + StorageTestContractAbi.abi, wallet ); @@ -1208,7 +1197,7 @@ describe('Contract', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: StorageTestContractAbi__factory, + deployer: StorageTestContractAbi, bytecode: StorageTestContractAbiHex, }, ], diff --git a/packages/fuel-gauge/src/coverage-contract.test.ts b/packages/fuel-gauge/src/coverage-contract.test.ts index 8478298f215..61b0b0238e2 100644 --- a/packages/fuel-gauge/src/coverage-contract.test.ts +++ b/packages/fuel-gauge/src/coverage-contract.test.ts @@ -1,7 +1,7 @@ import type { BN, Message } from 'fuels'; import { arrayify, bn, toHex, Wallet, ScriptTransactionRequest, randomBytes, hexlify } from 'fuels'; -import { CoverageContractAbi__factory } from '../test/typegen/contracts'; +import { CoverageContractAbi } from '../test/typegen/contracts'; import CoverageContractAbiHex from '../test/typegen/contracts/CoverageContractAbi.hex'; import { launchTestContract } from './utils'; @@ -37,7 +37,7 @@ enum MixedNativeEnum { function setupContract() { return launchTestContract({ - deployer: CoverageContractAbi__factory, + deployer: CoverageContractAbi, bytecode: CoverageContractAbiHex, }); } diff --git a/packages/fuel-gauge/src/doc-examples.test.ts b/packages/fuel-gauge/src/doc-examples.test.ts index 9860c1893cd..a74088ff2ac 100644 --- a/packages/fuel-gauge/src/doc-examples.test.ts +++ b/packages/fuel-gauge/src/doc-examples.test.ts @@ -17,9 +17,9 @@ import { } from 'fuels'; import { AssetId, launchTestNode } from 'fuels/test-utils'; -import { CallTestContractAbi__factory } from '../test/typegen/contracts'; -import { PredicateTrueAbi__factory } from '../test/typegen/predicates'; -import { PredicateTripleSigAbi__factory } from '../test/typegen/predicates/factories/PredicateTripleSigAbi__factory'; +import { CallTestContractAbi } from '../test/typegen/contracts'; +import { PredicateTrueAbi } from '../test/typegen/predicates'; +import { PredicateTripleSigAbi } from '../test/typegen/predicates/factories/PredicateTripleSigAbi'; const PUBLIC_KEY = '0x2f34bc0df4db0ec391792cedb05768832b49b1aa3a2dd8c30054d1af00f67d00b74b7acbbf3087c8e0b1a4c343db50aa471d21f278ff5ce09f07795d541fb47e'; @@ -112,11 +112,7 @@ describe('Doc Examples', () => { const address = Address.fromB256(hexedB256); const arrayB256: Uint8Array = arrayify(randomB256Bytes); const walletLike: WalletLocked = Wallet.fromAddress(address, provider); - const contractLike: Contract = new Contract( - address, - CallTestContractAbi__factory.abi, - provider - ); + const contractLike: Contract = new Contract(address, CallTestContractAbi.abi, provider); expect(address.equals(addressify(walletLike) as Address)).toBeTruthy(); expect(address.equals(contractLike.id as Address)).toBeTruthy(); @@ -246,12 +242,12 @@ describe('Doc Examples', () => { using launched = await launchTestNode(); const { provider } = launched; const predicate = new Predicate({ - bytecode: PredicateTrueAbi__factory.bin, + bytecode: PredicateTrue.bytecode, provider, }); expect(predicate.address).toBeTruthy(); - expect(predicate.bytes).toEqual(arrayify(PredicateTrueAbi__factory.bin)); + expect(predicate.bytes).toEqual(arrayify(PredicateTrue.bytecode)); }); it('can create a predicate and use', async () => { @@ -281,7 +277,7 @@ describe('Doc Examples', () => { const signature1 = await wallet1.signMessage(dataToSign); const signature2 = await wallet2.signMessage(dataToSign); const signature3 = await wallet3.signMessage(dataToSign); - const predicate = PredicateTripleSigAbi__factory.createInstance(provider, [ + const predicate = PredicateTripleSigAbi.createInstance(provider, [ [signature1, signature2, signature3], ]); diff --git a/packages/fuel-gauge/src/dry-run-multiple-txs.test.ts b/packages/fuel-gauge/src/dry-run-multiple-txs.test.ts index ba0a6aea021..14d7d560d48 100644 --- a/packages/fuel-gauge/src/dry-run-multiple-txs.test.ts +++ b/packages/fuel-gauge/src/dry-run-multiple-txs.test.ts @@ -8,10 +8,10 @@ import { ContractFactory, Wallet } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; import { - AdvancedLoggingAbi__factory, - AdvancedLoggingOtherContractAbi__factory, - MultiTokenContractAbi__factory, - RevertErrorAbi__factory, + AdvancedLoggingAbi, + AdvancedLoggingOtherContractAbi, + MultiTokenContractAbi, + RevertErrorAbi, } from '../test/typegen/contracts'; import AdvancedLoggingAbiHex from '../test/typegen/contracts/AdvancedLoggingAbi.hex'; import AdvancedLoggingOtherContractAbiHex from '../test/typegen/contracts/AdvancedLoggingOtherContractAbi.hex'; @@ -27,7 +27,7 @@ describe('dry-run-multiple-txs', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: RevertErrorAbi__factory, + deployer: RevertErrorAbi, bytecode: RevertErrorAbiHex, }, ], @@ -125,19 +125,19 @@ describe('dry-run-multiple-txs', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: RevertErrorAbi__factory, + deployer: RevertErrorAbi, bytecode: RevertErrorAbiHex, }, { - deployer: MultiTokenContractAbi__factory, + deployer: MultiTokenContractAbi, bytecode: MultiTokenAbiHex, }, { - deployer: AdvancedLoggingAbi__factory, + deployer: AdvancedLoggingAbi, bytecode: AdvancedLoggingAbiHex, }, { - deployer: AdvancedLoggingOtherContractAbi__factory, + deployer: AdvancedLoggingOtherContractAbi, bytecode: AdvancedLoggingOtherContractAbiHex, }, ], @@ -161,11 +161,7 @@ describe('dry-run-multiple-txs', () => { ]; // request 1 - const factory = new ContractFactory( - MultiTokenAbiHex, - MultiTokenContractAbi__factory.abi, - wallet - ); + const factory = new ContractFactory(MultiTokenAbiHex, MultiTokenContractAbi.abi, wallet); const { transactionRequest: request1 } = factory.createTransactionRequest({ maxFee: 15000, }); diff --git a/packages/fuel-gauge/src/e2e-script.test.ts b/packages/fuel-gauge/src/e2e-script.test.ts index 7503a8b9479..f46711f06cb 100644 --- a/packages/fuel-gauge/src/e2e-script.test.ts +++ b/packages/fuel-gauge/src/e2e-script.test.ts @@ -10,7 +10,7 @@ import { assets, } from 'fuels'; -import { ScriptMainArgBoolAbi__factory } from '../test/typegen'; +import { ScriptMainArgBoolAbi } from '../test/typegen'; enum Networks { DEVNET = 'devnet', @@ -81,7 +81,7 @@ describe.each(selectedNetworks)('Live Script Test', (selectedNetwork) => { return; } - const scriptInstance = ScriptMainArgBoolAbi__factory.createInstance(wallet); + const scriptInstance = ScriptMainArgBoolAbi.createInstance(wallet); let output: boolean = false; try { diff --git a/packages/fuel-gauge/src/edge-cases.test.ts b/packages/fuel-gauge/src/edge-cases.test.ts index 848f33c2332..7dcc970f2a1 100644 --- a/packages/fuel-gauge/src/edge-cases.test.ts +++ b/packages/fuel-gauge/src/edge-cases.test.ts @@ -1,7 +1,7 @@ import { TransactionResponse, Wallet } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { CollisionInFnNamesAbi__factory } from '../test/typegen/contracts'; +import { CollisionInFnNamesAbi } from '../test/typegen/contracts'; import CollisionInFnNamesAbiHex from '../test/typegen/contracts/CollisionInFnNamesAbi.hex'; import { launchTestContract } from './utils'; @@ -13,7 +13,7 @@ import { launchTestContract } from './utils'; describe('Edge Cases', () => { it('can run collision_in_fn_names', async () => { using contractInstance = await launchTestContract({ - deployer: CollisionInFnNamesAbi__factory, + deployer: CollisionInFnNamesAbi, bytecode: CollisionInFnNamesAbiHex, }); diff --git a/packages/fuel-gauge/src/fee.test.ts b/packages/fuel-gauge/src/fee.test.ts index d597321e6ca..6e461ab78b2 100644 --- a/packages/fuel-gauge/src/fee.test.ts +++ b/packages/fuel-gauge/src/fee.test.ts @@ -2,13 +2,10 @@ import { ContractFactory, ScriptTransactionRequest, Wallet, getRandomB256 } from import type { BN } from 'fuels'; import { launchTestNode, ASSET_A, ASSET_B, expectToBeInRange } from 'fuels/test-utils'; -import { - CallTestContractAbi__factory, - MultiTokenContractAbi__factory, -} from '../test/typegen/contracts'; +import { CallTestContractAbi, MultiTokenContractAbi } from '../test/typegen/contracts'; import CallTestContractAbiHex from '../test/typegen/contracts/CallTestContractAbi.hex'; import MultiTokenContractAbiHex from '../test/typegen/contracts/MultiTokenContractAbi.hex'; -import { PredicateU32Abi__factory } from '../test/typegen/predicates/factories/PredicateU32Abi__factory'; +import { PredicateU32Abi } from '../test/typegen/predicates/factories/PredicateU32Abi'; /** * @group node @@ -36,7 +33,7 @@ describe('Fee', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: MultiTokenContractAbi__factory, + deployer: MultiTokenContractAbi, bytecode: MultiTokenContractAbiHex, }, ], @@ -169,7 +166,7 @@ describe('Fee', () => { const factory = new ContractFactory( MultiTokenContractAbiHex, - MultiTokenContractAbi__factory.abi, + MultiTokenContractAbi.abi, wallet ); const { transactionRequest } = factory.createTransactionRequest(); @@ -196,7 +193,7 @@ describe('Fee', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: CallTestContractAbi__factory, + deployer: CallTestContractAbi, bytecode: CallTestContractAbiHex, }, ], @@ -229,7 +226,7 @@ describe('Fee', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: CallTestContractAbi__factory, + deployer: CallTestContractAbi, bytecode: CallTestContractAbiHex, }, ], @@ -269,7 +266,7 @@ describe('Fee', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: MultiTokenContractAbi__factory, + deployer: MultiTokenContractAbi, bytecode: MultiTokenContractAbiHex, }, ], @@ -318,7 +315,7 @@ describe('Fee', () => { wallets: [wallet], } = launched; - const predicate = PredicateU32Abi__factory.createInstance(provider, [1078]); + const predicate = PredicateU32Abi.createInstance(provider, [1078]); const tx1 = await wallet.transfer(predicate.address, 1_000_000, provider.getBaseAssetId()); await tx1.wait(); diff --git a/packages/fuel-gauge/src/generic-types-contract.test.ts b/packages/fuel-gauge/src/generic-types-contract.test.ts index 25d51dd7b55..0ea43e4d749 100644 --- a/packages/fuel-gauge/src/generic-types-contract.test.ts +++ b/packages/fuel-gauge/src/generic-types-contract.test.ts @@ -1,6 +1,6 @@ import { toHex } from 'fuels'; -import { GenericTypesContractAbi__factory } from '../test/typegen/contracts'; +import { GenericTypesContractAbi } from '../test/typegen/contracts'; import GenericTypesContractAbiHex from '../test/typegen/contracts/GenericTypesContractAbi.hex'; import { launchTestContract } from './utils'; @@ -11,7 +11,7 @@ import { launchTestContract } from './utils'; describe('GenericTypesContract', () => { it('should call complex contract function with generic type', async () => { using contract = await launchTestContract({ - deployer: GenericTypesContractAbi__factory, + deployer: GenericTypesContractAbi, bytecode: GenericTypesContractAbiHex, }); diff --git a/packages/fuel-gauge/src/is-function-readonly.test.ts b/packages/fuel-gauge/src/is-function-readonly.test.ts index 7452826857f..b60f4d7878e 100644 --- a/packages/fuel-gauge/src/is-function-readonly.test.ts +++ b/packages/fuel-gauge/src/is-function-readonly.test.ts @@ -1,11 +1,11 @@ -import { StorageTestContractAbi__factory } from '../test/typegen/contracts'; +import { StorageTestContractAbi } from '../test/typegen/contracts'; import StorageTestContractAbiHex from '../test/typegen/contracts/StorageTestContractAbi.hex'; import { launchTestContract } from './utils'; function setupContract() { return launchTestContract({ - deployer: StorageTestContractAbi__factory, + deployer: StorageTestContractAbi, bytecode: StorageTestContractAbiHex, }); } diff --git a/packages/fuel-gauge/src/min-gas.test.ts b/packages/fuel-gauge/src/min-gas.test.ts index 39a56b19d48..8702609ee9f 100644 --- a/packages/fuel-gauge/src/min-gas.test.ts +++ b/packages/fuel-gauge/src/min-gas.test.ts @@ -10,11 +10,7 @@ import { } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { - ComplexPredicateAbi__factory, - ComplexScriptAbi__factory, - CoverageContractAbi__factory, -} from '../test/typegen'; +import { ComplexPredicateAbi, ComplexScriptAbi, CoverageContractAbi } from '../test/typegen'; import CoverageContractAbiHex from '../test/typegen/contracts/CoverageContractAbi.hex'; /** @@ -36,12 +32,12 @@ describe('Minimum gas tests', () => { const contractFactory = new ContractFactory( CoverageContractAbiHex, - CoverageContractAbi__factory.abi, + CoverageContractAbi.abi, wallet ); const { transactionRequest: request } = contractFactory.createTransactionRequest({ - storageSlots: CoverageContractAbi__factory.storageSlots, + storageSlots: CoverageContractAbi.storageSlots, }); const resources = await provider.getResourcesToSpend(wallet.address, [ @@ -81,7 +77,7 @@ describe('Minimum gas tests', () => { */ const request = new ScriptTransactionRequest({ - script: ComplexScriptAbi__factory.bin, + script: ComplexScript.bytecode, scriptData: hexlify(new BigNumberCoder('u64').encode(bn(2000))), }); request.addCoinOutput(Address.fromRandom(), bn(100), provider.getBaseAssetId()); @@ -117,7 +113,7 @@ describe('Minimum gas tests', () => { /** * Setup predicate */ - const predicate = ComplexPredicateAbi__factory.createInstance(provider, [bn(1000)]); + const predicate = ComplexPredicateAbi.createInstance(provider, [bn(1000)]); /** * Fund the predicate @@ -165,7 +161,7 @@ describe('Minimum gas tests', () => { /** * Setup predicate */ - const predicate = ComplexPredicateAbi__factory.createInstance(provider, [bn(1000)]); + const predicate = ComplexPredicateAbi.createInstance(provider, [bn(1000)]); /** * Fund the predicate @@ -177,7 +173,7 @@ describe('Minimum gas tests', () => { * Create a script transaction */ const request = new ScriptTransactionRequest({ - script: ComplexScriptAbi__factory.bin, + script: ComplexScript.bytecode, scriptData: hexlify(new BigNumberCoder('u64').encode(bn(2000))), }); diff --git a/packages/fuel-gauge/src/multi-token-contract.test.ts b/packages/fuel-gauge/src/multi-token-contract.test.ts index e81f8d16718..19d0024fb53 100644 --- a/packages/fuel-gauge/src/multi-token-contract.test.ts +++ b/packages/fuel-gauge/src/multi-token-contract.test.ts @@ -2,7 +2,7 @@ import type { BN } from 'fuels'; import { Wallet, bn } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { MultiTokenContractAbi__factory } from '../test/typegen/contracts'; +import { MultiTokenContractAbi } from '../test/typegen/contracts'; import binHexlified from '../test/typegen/contracts/MultiTokenContractAbi.hex'; // hardcoded subIds on MultiTokenContract @@ -21,7 +21,7 @@ describe('MultiTokenContract', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: MultiTokenContractAbi__factory, + deployer: MultiTokenContractAbi, bytecode: binHexlified, }, ], @@ -114,7 +114,7 @@ describe('MultiTokenContract', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: MultiTokenContractAbi__factory, + deployer: MultiTokenContractAbi, bytecode: binHexlified, }, ], diff --git a/packages/fuel-gauge/src/options.test.ts b/packages/fuel-gauge/src/options.test.ts index c1662a28e3b..343851160cc 100644 --- a/packages/fuel-gauge/src/options.test.ts +++ b/packages/fuel-gauge/src/options.test.ts @@ -1,6 +1,6 @@ import { launchTestNode } from 'fuels/test-utils'; -import { OptionsAbi__factory } from '../test/typegen/contracts'; +import { OptionsAbi } from '../test/typegen/contracts'; import OptionsAbiHex from '../test/typegen/contracts/OptionsAbi.hex'; import { launchTestContract } from './utils'; @@ -12,7 +12,7 @@ const U32_MAX = 4294967295; function launchOptionsContract() { return launchTestContract({ bytecode: OptionsAbiHex, - deployer: OptionsAbi__factory, + deployer: OptionsAbi, }); } @@ -205,7 +205,7 @@ describe('Options Tests', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: OptionsAbi__factory, + deployer: OptionsAbi, bytecode: OptionsAbiHex, }, ], diff --git a/packages/fuel-gauge/src/payable-annotation.test.ts b/packages/fuel-gauge/src/payable-annotation.test.ts index 0b51e4ae0f7..3f447e09f53 100644 --- a/packages/fuel-gauge/src/payable-annotation.test.ts +++ b/packages/fuel-gauge/src/payable-annotation.test.ts @@ -1,6 +1,6 @@ import { bn } from 'fuels'; -import { PayableAnnotationAbi__factory } from '../test/typegen/contracts'; +import { PayableAnnotationAbi } from '../test/typegen/contracts'; import PayableAnnotationAbiHex from '../test/typegen/contracts/PayableAnnotationAbi.hex'; import { launchTestContract } from './utils'; @@ -8,7 +8,7 @@ import { launchTestContract } from './utils'; function launchPayableContract() { return launchTestContract({ bytecode: PayableAnnotationAbiHex, - deployer: PayableAnnotationAbi__factory, + deployer: PayableAnnotationAbi, }); } diff --git a/packages/fuel-gauge/src/policies.test.ts b/packages/fuel-gauge/src/policies.test.ts index 3ccc1853f82..8a7c20fe750 100644 --- a/packages/fuel-gauge/src/policies.test.ts +++ b/packages/fuel-gauge/src/policies.test.ts @@ -10,7 +10,7 @@ import { } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { PayableAnnotationAbi__factory, ScriptMainArgsAbi__factory } from '../test/typegen'; +import { PayableAnnotationAbi, ScriptMainArgsAbi } from '../test/typegen'; import PayableAnnotationAbiHex from '../test/typegen/contracts/PayableAnnotationAbi.hex'; /** @@ -156,11 +156,7 @@ describe('Policies', () => { wallets: [wallet], } = launched; - const factory = new ContractFactory( - ScriptMainArgsAbi__factory.bin, - ScriptMainArgsAbi__factory.abi, - wallet - ); + const factory = new ContractFactory(ScriptMainArgs.bytecode, ScriptMainArgsAbi.abi, wallet); const txParams: CustomTxParams = { tip: 11, @@ -190,7 +186,7 @@ describe('Policies', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: PayableAnnotationAbi__factory, + deployer: PayableAnnotationAbi, bytecode: PayableAnnotationAbiHex, }, ], @@ -229,8 +225,8 @@ describe('Policies', () => { } = launched; const scriptInstance = new Script( - ScriptMainArgsAbi__factory.bin, - ScriptMainArgsAbi__factory.abi, + ScriptMainArgs.bytecode, + ScriptMainArgsAbi.abi, wallet ); @@ -291,7 +287,7 @@ describe('Policies', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: PayableAnnotationAbi__factory, + deployer: PayableAnnotationAbi, bytecode: PayableAnnotationAbiHex, }, ], @@ -384,7 +380,7 @@ describe('Policies', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: PayableAnnotationAbi__factory, + deployer: PayableAnnotationAbi, bytecode: PayableAnnotationAbiHex, }, ], @@ -445,11 +441,7 @@ describe('Policies', () => { const maxFee = 1; - const factory = new ContractFactory( - ScriptMainArgsAbi__factory.bin, - ScriptMainArgsAbi__factory.abi, - wallet - ); + const factory = new ContractFactory(ScriptMainArgs.bytecode, ScriptMainArgsAbi.abi, wallet); const txParams: CustomTxParams = { witnessLimit: 800, @@ -467,7 +459,7 @@ describe('Policies', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: PayableAnnotationAbi__factory, + deployer: PayableAnnotationAbi, bytecode: PayableAnnotationAbiHex, }, ], diff --git a/packages/fuel-gauge/src/predicate-conditional-inputs.test.ts b/packages/fuel-gauge/src/predicate-conditional-inputs.test.ts index 976a41a59ff..cb66ea30d35 100644 --- a/packages/fuel-gauge/src/predicate-conditional-inputs.test.ts +++ b/packages/fuel-gauge/src/predicate-conditional-inputs.test.ts @@ -1,7 +1,7 @@ import { Wallet, ScriptTransactionRequest, bn } from 'fuels'; import { launchTestNode, ASSET_A, ASSET_B } from 'fuels/test-utils'; -import { PredicateConditionalInputsAbi__factory } from '../test/typegen/predicates'; +import { PredicateConditionalInputsAbi } from '../test/typegen/predicates'; /** * @group node @@ -22,7 +22,7 @@ describe('PredicateConditionalInputs', () => { const amountToTransfer = 1000; - const predicate = PredicateConditionalInputsAbi__factory.createInstance(provider, undefined, { + const predicate = PredicateConditionalInputsAbi.createInstance(provider, undefined, { MAKER: aliceWallet.address.toB256(), }); @@ -96,7 +96,7 @@ describe('PredicateConditionalInputs', () => { const amountToTransfer = 1000; - const predicate = PredicateConditionalInputsAbi__factory.createInstance(provider, undefined, { + const predicate = PredicateConditionalInputsAbi.createInstance(provider, undefined, { MAKER: aliceWallet.address.toB256(), }); diff --git a/packages/fuel-gauge/src/predicate/predicate-arguments.test.ts b/packages/fuel-gauge/src/predicate/predicate-arguments.test.ts index 58032b34fd8..6e23b67fe8c 100644 --- a/packages/fuel-gauge/src/predicate/predicate-arguments.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-arguments.test.ts @@ -2,11 +2,11 @@ import { toHex, Wallet } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; import { - PredicateAddressAbi__factory, - PredicateMainArgsStructAbi__factory, - PredicateMainArgsVectorAbi__factory, - PredicateMultiArgsAbi__factory, - PredicateU32Abi__factory, + PredicateAddressAbi, + PredicateMainArgsStructAbi, + PredicateMainArgsVectorAbi, + PredicateMultiArgsAbi, + PredicateU32Abi, } from '../../test/typegen'; import { fundPredicate, assertBalances } from './utils/predicate'; @@ -28,7 +28,7 @@ describe('Predicate', () => { wallets: [fundingWallet], } = launched; - const predicate = PredicateAddressAbi__factory.createInstance(provider, [ + const predicate = PredicateAddressAbi.createInstance(provider, [ '0xef86afa9696cf0dc6385e2c407a6e159a1103cefb7e2ae0636fb33d3cb2a9e4a', ]); @@ -60,7 +60,7 @@ describe('Predicate', () => { wallets: [fundingWallet], } = launched; - const predicate = PredicateAddressAbi__factory.createInstance(provider, [ + const predicate = PredicateAddressAbi.createInstance(provider, [ '0xbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbada', ]); @@ -82,7 +82,7 @@ describe('Predicate', () => { wallets: [fundingWallet], } = launched; - const predicate = PredicateU32Abi__factory.createInstance(provider, [1078]); + const predicate = PredicateU32Abi.createInstance(provider, [1078]); const receiver = Wallet.generate({ provider }); @@ -113,7 +113,7 @@ describe('Predicate', () => { wallets: [fundingWallet], } = launched; - const predicate = PredicateU32Abi__factory.createInstance(provider, [100]); + const predicate = PredicateU32Abi.createInstance(provider, [100]); // fund predicate await fundPredicate(fundingWallet, predicate, 90_000_00, 3); @@ -138,10 +138,9 @@ describe('Predicate', () => { wallets: [fundingWallet], } = launched; - const predicateInstanceForBalance = PredicateMainArgsStructAbi__factory.createInstance( - provider, - [{ has_account: true, total_complete: 100 }] - ); + const predicateInstanceForBalance = PredicateMainArgsStructAbi.createInstance(provider, [ + { has_account: true, total_complete: 100 }, + ]); const receiver = Wallet.generate({ provider }); const initialReceiverBalance = await receiver.getBalance(); @@ -155,7 +154,7 @@ describe('Predicate', () => { await fundTx.waitForResult(); // #region predicate-struct-arg - const predicate = PredicateMainArgsStructAbi__factory.createInstance(provider, [ + const predicate = PredicateMainArgsStructAbi.createInstance(provider, [ { has_account: true, total_complete: 100 }, ]); @@ -182,7 +181,7 @@ describe('Predicate', () => { wallets: [fundingWallet], } = launched; - const predicate = PredicateMainArgsStructAbi__factory.createInstance(provider, [ + const predicate = PredicateMainArgsStructAbi.createInstance(provider, [ { has_account: false, total_complete: 0 }, ]); @@ -204,7 +203,7 @@ describe('Predicate', () => { wallets: [fundingWallet], } = launched; - const predicate = PredicateMainArgsVectorAbi__factory.createInstance(provider, [[42]]); + const predicate = PredicateMainArgsVectorAbi.createInstance(provider, [[42]]); const receiver = Wallet.generate({ provider }); const initialReceiverBalance = await receiver.getBalance(); @@ -238,7 +237,7 @@ describe('Predicate', () => { const initialReceiverBalance = await receiver.getBalance(); // #region predicate-multi-args - const predicate = PredicateMultiArgsAbi__factory.createInstance(provider, [20, 30]); + const predicate = PredicateMultiArgsAbi.createInstance(provider, [20, 30]); // fund the predicate await fundPredicate(fundingWallet, predicate, amountToPredicate); @@ -269,7 +268,7 @@ describe('Predicate', () => { const receiver = Wallet.generate({ provider }); const initialReceiverBalance = await receiver.getBalance(); - const predicate = PredicateMultiArgsAbi__factory.createInstance(provider, [20, 30]); + const predicate = PredicateMultiArgsAbi.createInstance(provider, [20, 30]); // fund predicate await fundPredicate(fundingWallet, predicate, amountToPredicate); @@ -296,7 +295,7 @@ describe('Predicate', () => { wallets: [fundingWallet], } = launched; - const predicate = PredicateMultiArgsAbi__factory.createInstance(provider, [20, 20]); + const predicate = PredicateMultiArgsAbi.createInstance(provider, [20, 20]); // fund predicate await fundPredicate(fundingWallet, predicate, amountToPredicate); diff --git a/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts b/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts index 23f817ee797..7c9e2a53d2f 100644 --- a/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts @@ -1,10 +1,7 @@ import { getRandomB256, WalletUnlocked, Predicate } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { - PredicateTrueAbi__factory, - PredicateWithConfigurableAbi__factory, -} from '../../test/typegen'; +import { PredicateTrueAbi, PredicateWithConfigurableAbi } from '../../test/typegen'; import { fundPredicate, assertBalance } from './utils/predicate'; @@ -30,8 +27,8 @@ describe('Predicate', () => { } = launched; const predicate = new Predicate({ - bytecode: PredicateWithConfigurableAbi__factory.bin, - abi: PredicateWithConfigurableAbi__factory.abi, + bytecode: PredicateWithConfigurable.bytecode, + abi: PredicateWithConfigurableAbi.abi, provider: wallet.provider, inputData: [defaultValues.FEE, defaultValues.ADDRESS], // set predicate input data to be the same as default configurable value }); @@ -73,8 +70,8 @@ describe('Predicate', () => { expect(configurableConstants.FEE).not.toEqual(defaultValues.FEE); const predicate = new Predicate({ - bytecode: PredicateWithConfigurableAbi__factory.bin, - abi: PredicateWithConfigurableAbi__factory.abi, + bytecode: PredicateWithConfigurable.bytecode, + abi: PredicateWithConfigurableAbi.abi, provider, inputData: [configurableConstants.FEE, defaultValues.ADDRESS], configurableConstants, @@ -118,8 +115,8 @@ describe('Predicate', () => { expect(configurableConstants.ADDRESS).not.toEqual(defaultValues.ADDRESS); const predicate = new Predicate({ - bytecode: PredicateWithConfigurableAbi__factory.bin, - abi: PredicateWithConfigurableAbi__factory.abi, + bytecode: PredicateWithConfigurable.bytecode, + abi: PredicateWithConfigurableAbi.abi, provider, inputData: [defaultValues.FEE, configurableConstants.ADDRESS], configurableConstants, @@ -167,8 +164,8 @@ describe('Predicate', () => { expect(configurableConstants.FEE).not.toEqual(defaultValues.FEE); expect(configurableConstants.ADDRESS).not.toEqual(defaultValues.ADDRESS); const predicate = new Predicate({ - bytecode: PredicateWithConfigurableAbi__factory.bin, - abi: PredicateWithConfigurableAbi__factory.abi, + bytecode: PredicateWithConfigurable.bytecode, + abi: PredicateWithConfigurableAbi.abi, provider, inputData: [configurableConstants.FEE, configurableConstants.ADDRESS], configurableConstants, @@ -207,8 +204,8 @@ describe('Predicate', () => { } = launched; const predicate = new Predicate({ - bytecode: PredicateWithConfigurableAbi__factory.bin, - abi: PredicateWithConfigurableAbi__factory.abi, + bytecode: PredicateWithConfigurable.bytecode, + abi: PredicateWithConfigurableAbi.abi, provider, }); @@ -231,8 +228,8 @@ describe('Predicate', () => { expect(() => { // eslint-disable-next-line @typescript-eslint/no-unused-vars const predicate = new Predicate({ - bytecode: PredicateTrueAbi__factory.bin, - abi: PredicateTrueAbi__factory.abi, + bytecode: PredicateTrue.bytecode, + abi: PredicateTrueAbi.abi, provider, inputData: ['NADA'], configurableConstants: { @@ -252,8 +249,8 @@ describe('Predicate', () => { expect(() => { // eslint-disable-next-line @typescript-eslint/no-unused-vars const predicate = new Predicate({ - bytecode: PredicateWithConfigurableAbi__factory.bin, - abi: PredicateWithConfigurableAbi__factory.abi, + bytecode: PredicateWithConfigurable.bytecode, + abi: PredicateWithConfigurableAbi.abi, provider, inputData: ['NADA'], configurableConstants: { @@ -272,7 +269,7 @@ describe('Predicate', () => { expect(() => { // eslint-disable-next-line @typescript-eslint/no-unused-vars const predicate = new Predicate({ - bytecode: PredicateWithConfigurableAbi__factory.bin, + bytecode: PredicateWithConfigurable.bytecode, provider, inputData: ['NADA'], configurableConstants: { diff --git a/packages/fuel-gauge/src/predicate/predicate-estimations.test.ts b/packages/fuel-gauge/src/predicate/predicate-estimations.test.ts index ddfbbf1364a..a7bfc10da2d 100644 --- a/packages/fuel-gauge/src/predicate/predicate-estimations.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-estimations.test.ts @@ -16,9 +16,9 @@ import { import { launchTestNode } from 'fuels/test-utils'; import { - PredicateMainArgsStructAbi__factory, - PredicateTrueAbi__factory, - PredicateValidateTransferAbi__factory, + PredicateMainArgsStructAbi, + PredicateTrueAbi, + PredicateValidateTransferAbi, } from '../../test/typegen'; import type { Validation } from '../types/predicate'; @@ -41,13 +41,13 @@ describe('Predicate', () => { } = launched; const predicateTrue = new Predicate({ - bytecode: PredicateTrueAbi__factory.bin, + bytecode: PredicateTrue.bytecode, provider, }); const predicateStruct = new Predicate<[Validation]>({ - bytecode: PredicateMainArgsStructAbi__factory.bin, - abi: PredicateMainArgsStructAbi__factory.abi, + bytecode: PredicateMainArgsStruct.bytecode, + abi: PredicateMainArgsStructAbi.abi, provider, }); @@ -140,7 +140,7 @@ describe('Predicate', () => { const tx = new ScriptTransactionRequest(); const predicateTrue = new Predicate({ - bytecode: PredicateTrueAbi__factory.bin, + bytecode: PredicateTrue.bytecode, provider, }); @@ -166,13 +166,13 @@ describe('Predicate', () => { } = launched; const predicateTrue = new Predicate({ - bytecode: PredicateTrueAbi__factory.bin, + bytecode: PredicateTrue.bytecode, provider, }); const predicateStruct = new Predicate<[Validation]>({ - bytecode: PredicateMainArgsStructAbi__factory.bin, - abi: PredicateMainArgsStructAbi__factory.abi, + bytecode: PredicateMainArgsStruct.bytecode, + abi: PredicateMainArgsStructAbi.abi, provider, }); @@ -213,8 +213,8 @@ describe('Predicate', () => { const amountToPredicate = 200_000; const predicateValidateTransfer = new Predicate<[BN]>({ - bytecode: PredicateValidateTransferAbi__factory.bin, - abi: PredicateValidateTransferAbi__factory.abi, + bytecode: PredicateValidateTransfer.bytecode, + abi: PredicateValidateTransferAbi.abi, provider, inputData: [bn(amountToPredicate)], }); @@ -256,8 +256,8 @@ describe('Predicate', () => { } = launched; const predicateStruct = new Predicate<[Validation]>({ - bytecode: PredicateMainArgsStructAbi__factory.bin, - abi: PredicateMainArgsStructAbi__factory.abi, + bytecode: PredicateMainArgsStruct.bytecode, + abi: PredicateMainArgsStructAbi.abi, provider, }); @@ -290,8 +290,8 @@ describe('Predicate', () => { } = launched; const predicateStruct = new Predicate<[Validation]>({ - bytecode: PredicateMainArgsStructAbi__factory.bin, - abi: PredicateMainArgsStructAbi__factory.abi, + bytecode: PredicateMainArgsStruct.bytecode, + abi: PredicateMainArgsStructAbi.abi, provider, }); diff --git a/packages/fuel-gauge/src/predicate/predicate-evaluations.test.ts b/packages/fuel-gauge/src/predicate/predicate-evaluations.test.ts index ffbd01b8ba9..a835da9cf0e 100644 --- a/packages/fuel-gauge/src/predicate/predicate-evaluations.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-evaluations.test.ts @@ -1,10 +1,7 @@ import { Address, Wallet } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { - PredicateTrueAbi__factory, - PredicateFalseAbi__factory, -} from '../../test/typegen/predicates'; +import { PredicateTrueAbi, PredicateFalseAbi } from '../../test/typegen/predicates'; import { assertBalances, fundPredicate } from './utils/predicate'; @@ -25,7 +22,7 @@ describe('Predicate', () => { const receiver = Wallet.generate({ provider }); const initialReceiverBalance = await receiver.getBalance(); - const predicate = PredicateTrueAbi__factory.createInstance(provider); + const predicate = PredicateTrueAbi.createInstance(provider); await fundPredicate(wallet, predicate, 200_000); @@ -56,7 +53,7 @@ describe('Predicate', () => { const receiver = Wallet.fromAddress(Address.fromRandom(), provider); - const predicate = PredicateFalseAbi__factory.createInstance(provider); + const predicate = PredicateFalseAbi.createInstance(provider); await fundPredicate(wallet, predicate, 200_000); diff --git a/packages/fuel-gauge/src/predicate/predicate-general.test.ts b/packages/fuel-gauge/src/predicate/predicate-general.test.ts index 6f49c1e19e5..5cb166b93fd 100644 --- a/packages/fuel-gauge/src/predicate/predicate-general.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-general.test.ts @@ -2,7 +2,7 @@ import type { BN, FakeResources } from 'fuels'; import { Address, Predicate, ScriptTransactionRequest, bn } from 'fuels'; import { ASSET_A, ASSET_B, launchTestNode } from 'fuels/test-utils'; -import { PredicateSumAbi__factory } from '../../test/typegen'; +import { PredicateSumAbi } from '../../test/typegen'; /** * @group node @@ -29,8 +29,8 @@ describe('Predicate', () => { const value1 = bn(100); const predicate = new Predicate<[BN, BN]>({ - bytecode: PredicateSumAbi__factory.bin, - abi: PredicateSumAbi__factory.abi, + bytecode: PredicateSum.bytecode, + abi: PredicateSumAbi.abi, provider, inputData: [value1, value2], }); diff --git a/packages/fuel-gauge/src/predicate/predicate-input-data.test.ts b/packages/fuel-gauge/src/predicate/predicate-input-data.test.ts index 3e04ed4fb0e..4a8ebd1f3bb 100644 --- a/packages/fuel-gauge/src/predicate/predicate-input-data.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-input-data.test.ts @@ -1,7 +1,7 @@ import { Predicate, Wallet } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { PredicateInputDataAbi__factory } from '../../test/typegen'; +import { PredicateInputDataAbi } from '../../test/typegen'; import { fundPredicate } from './utils/predicate'; @@ -23,8 +23,8 @@ describe('Predicate', () => { const amountToReceiver = 50; const predicate = new Predicate({ - bytecode: PredicateInputDataAbi__factory.bin, - abi: PredicateInputDataAbi__factory.abi, + bytecode: PredicateInputData.bytecode, + abi: PredicateInputDataAbi.abi, provider, inputData: [true], }); diff --git a/packages/fuel-gauge/src/predicate/predicate-invalidations.test.ts b/packages/fuel-gauge/src/predicate/predicate-invalidations.test.ts index e282ba2e90d..3bcc7e32e1c 100644 --- a/packages/fuel-gauge/src/predicate/predicate-invalidations.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-invalidations.test.ts @@ -1,7 +1,7 @@ import { Predicate, Wallet } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { PredicateMainArgsStructAbi__factory } from '../../test/typegen'; +import { PredicateMainArgsStructAbi } from '../../test/typegen'; import type { Validation } from '../types/predicate'; import { fundPredicate } from './utils/predicate'; @@ -20,8 +20,8 @@ describe('Predicate', () => { } = launched; const predicate = new Predicate<[Validation]>({ - bytecode: PredicateMainArgsStructAbi__factory.bin, - abi: PredicateMainArgsStructAbi__factory.abi, + bytecode: PredicateMainArgsStruct.bytecode, + abi: PredicateMainArgsStructAbi.abi, provider, }); @@ -49,8 +49,8 @@ describe('Predicate', () => { } = launched; const predicate = new Predicate<[Validation]>({ - bytecode: PredicateMainArgsStructAbi__factory.bin, - abi: PredicateMainArgsStructAbi__factory.abi, + bytecode: PredicateMainArgsStruct.bytecode, + abi: PredicateMainArgsStructAbi.abi, provider, }); diff --git a/packages/fuel-gauge/src/predicate/predicate-populate-witness.test.ts b/packages/fuel-gauge/src/predicate/predicate-populate-witness.test.ts index 3abe172a170..bb103c82f2b 100644 --- a/packages/fuel-gauge/src/predicate/predicate-populate-witness.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-populate-witness.test.ts @@ -2,10 +2,7 @@ import type { CoinQuantityLike, ExcludeResourcesOption, Resource } from 'fuels'; import { Predicate, ScriptTransactionRequest, bn, isCoin, Wallet } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { - PredicateAssertNumberAbi__factory, - PredicateAssertValueAbi__factory, -} from '../../test/typegen'; +import { PredicateAssertNumberAbi, PredicateAssertValueAbi } from '../../test/typegen'; import { fundPredicate } from './utils/predicate'; @@ -43,8 +40,8 @@ describe('Predicate', () => { const quantity: CoinQuantityLike[] = [[500, provider.getBaseAssetId()]]; const predicateAssertNumber = new Predicate<[number]>({ - bytecode: PredicateAssertNumberAbi__factory.bin, - abi: PredicateAssertNumberAbi__factory.abi, + bytecode: PredicateAssertNumber.bytecode, + abi: PredicateAssertNumberAbi.abi, provider, inputData: [11], }); @@ -98,8 +95,8 @@ describe('Predicate', () => { transactionRequest.addCoinOutput(receiver.address, 100, provider.getBaseAssetId()); const predicateAssertNumber = new Predicate<[number]>({ - bytecode: PredicateAssertNumberAbi__factory.bin, - abi: PredicateAssertNumberAbi__factory.abi, + bytecode: PredicateAssertNumber.bytecode, + abi: PredicateAssertNumberAbi.abi, provider, inputData: [11], }); @@ -153,8 +150,8 @@ describe('Predicate', () => { const quantity: CoinQuantityLike[] = [[500, provider.getBaseAssetId()]]; const predicateAssertNumber = new Predicate<[number]>({ - bytecode: PredicateAssertNumberAbi__factory.bin, - abi: PredicateAssertNumberAbi__factory.abi, + bytecode: PredicateAssertNumber.bytecode, + abi: PredicateAssertNumberAbi.abi, provider, inputData: [11], }); @@ -231,8 +228,8 @@ describe('Predicate', () => { const resources3 = await wallet3.getResourcesToSpend(quantity); const predicateAssertNumber = new Predicate<[number]>({ - bytecode: PredicateAssertNumberAbi__factory.bin, - abi: PredicateAssertNumberAbi__factory.abi, + bytecode: PredicateAssertNumber.bytecode, + abi: PredicateAssertNumberAbi.abi, provider, inputData: [11], }); @@ -240,8 +237,8 @@ describe('Predicate', () => { await fundPredicate(fundingWallet, predicateAssertNumber, 500_000, UTXOS_AMOUNT); const predicateAssertValue = new Predicate<[boolean]>({ - bytecode: PredicateAssertValueAbi__factory.bin, - abi: PredicateAssertValueAbi__factory.abi, + bytecode: PredicateAssertValue.bytecode, + abi: PredicateAssertValueAbi.abi, provider, inputData: [true], }); @@ -322,8 +319,8 @@ describe('Predicate', () => { let transactionRequest = new ScriptTransactionRequest({ gasLimit: 2000, maxFee: bn(0) }); const predicateAssertNumber = new Predicate<[number]>({ - bytecode: PredicateAssertNumberAbi__factory.bin, - abi: PredicateAssertNumberAbi__factory.abi, + bytecode: PredicateAssertNumber.bytecode, + abi: PredicateAssertNumberAbi.abi, provider, inputData: [11], }); @@ -331,8 +328,8 @@ describe('Predicate', () => { await fundPredicate(fundingWallet, predicateAssertNumber, 500_000, UTXOS_AMOUNT); const predicateAssertValue = new Predicate<[boolean]>({ - bytecode: PredicateAssertValueAbi__factory.bin, - abi: PredicateAssertValueAbi__factory.abi, + bytecode: PredicateAssertValue.bytecode, + abi: PredicateAssertValueAbi.abi, provider, inputData: [true], }); @@ -408,8 +405,8 @@ describe('Predicate', () => { const resources3 = await wallet3.getResourcesToSpend(quantity); const predicateAssertNumber = new Predicate<[number]>({ - bytecode: PredicateAssertNumberAbi__factory.bin, - abi: PredicateAssertNumberAbi__factory.abi, + bytecode: PredicateAssertNumber.bytecode, + abi: PredicateAssertNumberAbi.abi, provider, inputData: [11], }); @@ -426,8 +423,8 @@ describe('Predicate', () => { ); const predicateAssertValue = new Predicate<[boolean]>({ - bytecode: PredicateAssertValueAbi__factory.bin, - abi: PredicateAssertValueAbi__factory.abi, + bytecode: PredicateAssertValue.bytecode, + abi: PredicateAssertValueAbi.abi, provider, inputData: [true], }); diff --git a/packages/fuel-gauge/src/predicate/predicate-with-contract.test.ts b/packages/fuel-gauge/src/predicate/predicate-with-contract.test.ts index a1dc5eb0f3b..ac942b145ff 100644 --- a/packages/fuel-gauge/src/predicate/predicate-with-contract.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-with-contract.test.ts @@ -1,16 +1,10 @@ import { Contract, Wallet } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { - CallTestContractAbi__factory, - TokenContractAbi__factory, -} from '../../test/typegen/contracts'; +import { CallTestContractAbi, TokenContractAbi } from '../../test/typegen/contracts'; import contractBytes from '../../test/typegen/contracts/CallTestContractAbi.hex'; import tokenPoolBytes from '../../test/typegen/contracts/TokenContractAbi.hex'; -import { - PredicateMainArgsStructAbi__factory, - PredicateTrueAbi__factory, -} from '../../test/typegen/predicates'; +import { PredicateMainArgsStructAbi, PredicateTrueAbi } from '../../test/typegen/predicates'; import { fundPredicate } from './utils/predicate'; @@ -22,7 +16,7 @@ describe('Predicate', () => { describe('With Contract', () => { it('calls a predicate from a contract function', async () => { using launched = await launchTestNode({ - contractsConfigs: [{ deployer: CallTestContractAbi__factory, bytecode: contractBytes }], + contractsConfigs: [{ deployer: CallTestContractAbi, bytecode: contractBytes }], }); const { @@ -32,7 +26,7 @@ describe('Predicate', () => { } = launched; const amountToPredicate = 300_000; - const predicate = PredicateTrueAbi__factory.createInstance(provider); + const predicate = PredicateTrueAbi.createInstance(provider); // Create a instance of the contract with the predicate as the caller Account const contractPredicate = new Contract(contract.id, contract.interface, predicate); @@ -53,7 +47,7 @@ describe('Predicate', () => { it('calls a predicate and uses proceeds for a contract call', async () => { using launched = await launchTestNode({ - contractsConfigs: [{ deployer: TokenContractAbi__factory, bytecode: tokenPoolBytes }], + contractsConfigs: [{ deployer: TokenContractAbi, bytecode: tokenPoolBytes }], }); const { @@ -74,7 +68,7 @@ describe('Predicate', () => { // setup predicate const amountToPredicate = 1_000_000; const amountToReceiver = 200_000; - const predicate = PredicateMainArgsStructAbi__factory.createInstance(provider, [ + const predicate = PredicateMainArgsStructAbi.createInstance(provider, [ { has_account: true, total_complete: 100, diff --git a/packages/fuel-gauge/src/predicate/predicate-with-script.test.ts b/packages/fuel-gauge/src/predicate/predicate-with-script.test.ts index 084e3694c3f..72da682ef97 100644 --- a/packages/fuel-gauge/src/predicate/predicate-with-script.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-with-script.test.ts @@ -2,10 +2,7 @@ import type { BigNumberish } from 'fuels'; import { toNumber, Script, Predicate, Wallet } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { - PredicateMainArgsStructAbi__factory, - ScriptMainArgsAbi__factory, -} from '../../test/typegen'; +import { PredicateMainArgsStructAbi, ScriptMainArgsAbi } from '../../test/typegen'; import type { Validation } from '../types/predicate'; import { fundPredicate } from './utils/predicate'; @@ -27,8 +24,8 @@ describe('Predicate', () => { const initialReceiverBalance = toNumber(await receiver.getBalance()); const scriptInstance = new Script( - ScriptMainArgsAbi__factory.bin, - ScriptMainArgsAbi__factory.abi, + ScriptMainArgs.bytecode, + ScriptMainArgsAbi.abi, wallet ); @@ -44,9 +41,9 @@ describe('Predicate', () => { const amountToPredicate = 900_000; const amountToReceiver = 100_000; const predicate = new Predicate<[Validation]>({ - bytecode: PredicateMainArgsStructAbi__factory.bin, + bytecode: PredicateMainArgsStruct.bytecode, provider, - abi: PredicateMainArgsStructAbi__factory.abi, + abi: PredicateMainArgsStructAbi.abi, inputData: [ { has_account: true, diff --git a/packages/fuel-gauge/src/raw-slice.test.ts b/packages/fuel-gauge/src/raw-slice.test.ts index 86b74970c2a..06e3aa9f264 100644 --- a/packages/fuel-gauge/src/raw-slice.test.ts +++ b/packages/fuel-gauge/src/raw-slice.test.ts @@ -2,10 +2,10 @@ import { bn, Predicate, Wallet, Address } from 'fuels'; import type { BN } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { ScriptRawSliceAbi__factory } from '../test/typegen'; -import { RawSliceAbi__factory } from '../test/typegen/contracts'; +import { ScriptRawSliceAbi } from '../test/typegen'; +import { RawSliceAbi } from '../test/typegen/contracts'; import RawSliceAbiHex from '../test/typegen/contracts/RawSliceAbi.hex'; -import { PredicateRawSliceAbi__factory } from '../test/typegen/predicates'; +import { PredicateRawSliceAbi } from '../test/typegen/predicates'; import { launchTestContract } from './utils'; @@ -21,7 +21,7 @@ type Wrapper = { function setupRawSliceContract() { return launchTestContract({ - deployer: RawSliceAbi__factory, + deployer: RawSliceAbi, bytecode: RawSliceAbiHex, }); } @@ -93,8 +93,8 @@ describe('Raw Slice Tests', () => { }; const predicate = new Predicate({ - bytecode: PredicateRawSliceAbi__factory.bin, - abi: PredicateRawSliceAbi__factory.abi, + bytecode: PredicateRawSlice.bytecode, + abi: PredicateRawSliceAbi.abi, provider: wallet.provider, inputData: [INPUT], }); @@ -137,7 +137,7 @@ describe('Raw Slice Tests', () => { wallets: [wallet], } = launched; - const scriptInstance = ScriptRawSliceAbi__factory.createInstance(wallet); + const scriptInstance = ScriptRawSliceAbi.createInstance(wallet); const bytes = [40, 41, 42]; const INPUT: Wrapper = { diff --git a/packages/fuel-gauge/src/reentrant-contract-calls.test.ts b/packages/fuel-gauge/src/reentrant-contract-calls.test.ts index 912b9d770d0..9f88dfe3288 100644 --- a/packages/fuel-gauge/src/reentrant-contract-calls.test.ts +++ b/packages/fuel-gauge/src/reentrant-contract-calls.test.ts @@ -2,9 +2,9 @@ import { ContractFactory, ReceiptType, bn } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; import { - ReentrantBarAbi__factory, - ReentrantFooAbi__factory, - StorageTestContractAbi__factory, + ReentrantBarAbi, + ReentrantFooAbi, + StorageTestContractAbi, } from '../test/typegen/contracts'; import ReentrantBarAbiHex from '../test/typegen/contracts/ReentrantBarAbi.hex'; import ReentrantFooAbiHex from '../test/typegen/contracts/ReentrantFooAbi.hex'; @@ -19,11 +19,11 @@ describe('Reentrant Contract Calls', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: ReentrantFooAbi__factory, + deployer: ReentrantFooAbi, bytecode: ReentrantFooAbiHex, }, { - deployer: ReentrantBarAbi__factory, + deployer: ReentrantBarAbi, bytecode: ReentrantBarAbiHex, }, ], @@ -72,11 +72,11 @@ describe('Reentrant Contract Calls', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: ReentrantFooAbi__factory, + deployer: ReentrantFooAbi, bytecode: ReentrantFooAbiHex, }, { - deployer: ReentrantBarAbi__factory, + deployer: ReentrantBarAbi, bytecode: ReentrantBarAbiHex, }, ], @@ -89,9 +89,9 @@ describe('Reentrant Contract Calls', () => { const deploy = await new ContractFactory( StorageTestContractAbiHex, - StorageTestContractAbi__factory.abi, + StorageTestContractAbi.abi, wallet - ).deployContract({ storageSlots: StorageTestContractAbi__factory.storageSlots }); + ).deployContract({ storageSlots: StorageTestContractAbi.storageSlots }); const { contract: storageContract } = await deploy.waitForResult(); diff --git a/packages/fuel-gauge/src/revert-error.test.ts b/packages/fuel-gauge/src/revert-error.test.ts index dd53b87a1a8..eeaf0a731a7 100644 --- a/packages/fuel-gauge/src/revert-error.test.ts +++ b/packages/fuel-gauge/src/revert-error.test.ts @@ -4,7 +4,7 @@ import type { TransactionResultReceipt } from 'fuels'; import { bn, getRandomB256, ContractFactory } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { RevertErrorAbi__factory, TokenContractAbi__factory } from '../test/typegen/contracts'; +import { RevertErrorAbi, TokenContractAbi } from '../test/typegen/contracts'; import RevertErrorAbiHex from '../test/typegen/contracts/RevertErrorAbi.hex'; import TokenContractAbiHex from '../test/typegen/contracts/TokenContractAbi.hex'; @@ -12,7 +12,7 @@ import { launchTestContract } from './utils'; function launchContract() { return launchTestContract({ - deployer: RevertErrorAbi__factory, + deployer: RevertErrorAbi, bytecode: RevertErrorAbiHex, }); } @@ -199,7 +199,7 @@ describe('Revert Error Testing', () => { provider, } = launched; - const factory = new ContractFactory(TokenContractAbiHex, TokenContractAbi__factory.abi, wallet); + const factory = new ContractFactory(TokenContractAbiHex, TokenContractAbi.abi, wallet); const { waitForResult } = await factory.deployContract(); const { contract: tokenContract } = await waitForResult(); diff --git a/packages/fuel-gauge/src/script-main-args.test.ts b/packages/fuel-gauge/src/script-main-args.test.ts index 962b83d235c..beef57cf9b3 100644 --- a/packages/fuel-gauge/src/script-main-args.test.ts +++ b/packages/fuel-gauge/src/script-main-args.test.ts @@ -3,9 +3,9 @@ import { bn, Script } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; import { - ScriptMainArgsAbi__factory, - ScriptMainReturnStructAbi__factory, - ScriptMainTwoArgsAbi__factory, + ScriptMainArgsAbi, + ScriptMainReturnStructAbi, + ScriptMainTwoArgsAbi, } from '../test/typegen'; type Baz = { @@ -26,8 +26,8 @@ describe('Script Coverage', () => { // #region script-call-factory const foo = 33; const scriptInstance = new Script( - ScriptMainArgsAbi__factory.bin, - ScriptMainArgsAbi__factory.abi, + ScriptMainArgs.bytecode, + ScriptMainArgsAbi.abi, wallet ); @@ -46,7 +46,7 @@ describe('Script Coverage', () => { wallets: [wallet], } = launched; - const scriptInstance = ScriptMainTwoArgsAbi__factory.createInstance(wallet); + const scriptInstance = ScriptMainTwoArgsAbi.createInstance(wallet); const foo = 33; const bar: Baz = { x: 12, @@ -65,7 +65,7 @@ describe('Script Coverage', () => { wallets: [wallet], } = launched; - const scriptInstance = ScriptMainReturnStructAbi__factory.createInstance(wallet); + const scriptInstance = ScriptMainReturnStructAbi.createInstance(wallet); const foo = 1; const bar: Baz = { x: 2, @@ -86,8 +86,8 @@ describe('Script Coverage', () => { } = launched; const scriptInstance = new Script( - ScriptMainArgsAbi__factory.bin, - ScriptMainArgsAbi__factory.abi, + ScriptMainArgs.bytecode, + ScriptMainArgsAbi.abi, wallet ); const foo = 42; diff --git a/packages/fuel-gauge/src/script-with-configurable.test.ts b/packages/fuel-gauge/src/script-with-configurable.test.ts index 5a5e5390f3e..7b3c853feeb 100644 --- a/packages/fuel-gauge/src/script-with-configurable.test.ts +++ b/packages/fuel-gauge/src/script-with-configurable.test.ts @@ -1,7 +1,7 @@ import { Script } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { ScriptWithConfigurableAbi__factory } from '../test/typegen'; +import { ScriptWithConfigurableAbi } from '../test/typegen'; const defaultValues = { FEE: 5, @@ -20,8 +20,8 @@ describe('Script With Configurable', () => { } = launched; const script = new Script( - ScriptWithConfigurableAbi__factory.bin, - ScriptWithConfigurableAbi__factory.abi, + ScriptWithConfigurable.bytecode, + ScriptWithConfigurableAbi.abi, wallet ); @@ -45,8 +45,8 @@ describe('Script With Configurable', () => { expect(configurableConstants.FEE).not.toEqual(defaultValues.FEE); const script = new Script( - ScriptWithConfigurableAbi__factory.bin, - ScriptWithConfigurableAbi__factory.abi, + ScriptWithConfigurable.bytecode, + ScriptWithConfigurableAbi.abi, wallet ); @@ -68,8 +68,8 @@ describe('Script With Configurable', () => { const configurableConstants = { FEE: 35 }; const script = new Script( - ScriptWithConfigurableAbi__factory.bin, - ScriptWithConfigurableAbi__factory.abi, + ScriptWithConfigurable.bytecode, + ScriptWithConfigurableAbi.abi, wallet ); @@ -95,8 +95,8 @@ describe('Script With Configurable', () => { expect(configurableConstants.FEE).not.toEqual(input.FEE); const script = new Script( - ScriptWithConfigurableAbi__factory.bin, - ScriptWithConfigurableAbi__factory.abi, + ScriptWithConfigurable.bytecode, + ScriptWithConfigurableAbi.abi, wallet ); diff --git a/packages/fuel-gauge/src/script-with-vectors.test.ts b/packages/fuel-gauge/src/script-with-vectors.test.ts index 294026fd21a..038d2533879 100644 --- a/packages/fuel-gauge/src/script-with-vectors.test.ts +++ b/packages/fuel-gauge/src/script-with-vectors.test.ts @@ -1,10 +1,10 @@ import { launchTestNode } from 'fuels/test-utils'; import { - ScriptWithArrayAbi__factory, - ScriptWithVectorAbi__factory, - ScriptWithVectorAdvancedAbi__factory, - ScriptWithVectorMixedAbi__factory, + ScriptWithArrayAbi, + ScriptWithVectorAbi, + ScriptWithVectorAdvancedAbi, + ScriptWithVectorMixedAbi, } from '../test/typegen'; /** @@ -20,7 +20,7 @@ describe('Script With Vectors', () => { } = launched; const someArray = [1, 100]; - const scriptInstance = ScriptWithArrayAbi__factory.createInstance(wallet); + const scriptInstance = ScriptWithArrayAbi.createInstance(wallet); const { waitForResult } = await scriptInstance.functions.main(someArray).call(); const { logs } = await waitForResult(); @@ -36,7 +36,7 @@ describe('Script With Vectors', () => { } = launched; const someVec = [7, 2, 1, 5]; - const scriptInstance = ScriptWithVectorAbi__factory.createInstance(wallet); + const scriptInstance = ScriptWithVectorAbi.createInstance(wallet); const scriptInvocationScope = scriptInstance.functions.main(someVec); @@ -95,7 +95,7 @@ describe('Script With Vectors', () => { }, ]; - const scriptInstance = ScriptWithVectorMixedAbi__factory.createInstance(wallet); + const scriptInstance = ScriptWithVectorMixedAbi.createInstance(wallet); const { waitForResult } = await scriptInstance.functions.main(importantDates).call(); const { value } = await waitForResult(); @@ -166,7 +166,7 @@ describe('Script With Vectors', () => { }, ]; - const scriptInstance = ScriptWithVectorAdvancedAbi__factory.createInstance(wallet); + const scriptInstance = ScriptWithVectorAdvancedAbi.createInstance(wallet); const { waitForResult } = await scriptInstance.functions.main(vectorOfStructs).call(); const { value } = await waitForResult(); diff --git a/packages/fuel-gauge/src/std-lib-string.test.ts b/packages/fuel-gauge/src/std-lib-string.test.ts index 170a88c5637..ce05d76c884 100644 --- a/packages/fuel-gauge/src/std-lib-string.test.ts +++ b/packages/fuel-gauge/src/std-lib-string.test.ts @@ -1,11 +1,7 @@ import { bn, Predicate, Wallet, Address } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { - PredicateStdLibStringAbi__factory, - ScriptStdLibStringAbi__factory, - StdLibStringAbi__factory, -} from '../test/typegen'; +import { PredicateStdLibStringAbi, ScriptStdLibStringAbi, StdLibStringAbi } from '../test/typegen'; import StdLibStringAbiHex from '../test/typegen/contracts/StdLibStringAbi.hex'; import { launchTestContract } from './utils'; @@ -17,7 +13,7 @@ import { launchTestContract } from './utils'; function setupContract() { return launchTestContract({ - deployer: StdLibStringAbi__factory, + deployer: StdLibStringAbi, bytecode: StdLibStringAbiHex, }); } @@ -57,8 +53,8 @@ describe('std-lib-string Tests', () => { const amountToReceiver = 50; type MainArgs = [number, number, string]; const predicate = new Predicate({ - bytecode: PredicateStdLibStringAbi__factory.bin, - abi: PredicateStdLibStringAbi__factory.abi, + bytecode: PredicateStdLibString.bytecode, + abi: PredicateStdLibStringAbi.abi, provider, inputData: [1, 2, 'Hello World'], }); @@ -102,7 +98,7 @@ describe('std-lib-string Tests', () => { } = launched; const INPUT = 'Hello World'; - const scriptInstance = ScriptStdLibStringAbi__factory.createInstance(wallet); + const scriptInstance = ScriptStdLibStringAbi.createInstance(wallet); const { waitForResult } = await scriptInstance.functions.main(INPUT).call(); const { value } = await waitForResult(); diff --git a/packages/fuel-gauge/src/storage-test-contract.test.ts b/packages/fuel-gauge/src/storage-test-contract.test.ts index d93920dd1d6..089de6a1f25 100644 --- a/packages/fuel-gauge/src/storage-test-contract.test.ts +++ b/packages/fuel-gauge/src/storage-test-contract.test.ts @@ -1,7 +1,7 @@ import { toHex, ContractFactory } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { StorageTestContractAbi__factory } from '../test/typegen'; +import { StorageTestContractAbi } from '../test/typegen'; import StorageTestContractAbiHex from '../test/typegen/contracts/StorageTestContractAbi.hex'; /** @@ -16,14 +16,14 @@ describe('StorageTestContract', () => { wallets: [wallet], } = launched; - const { storageSlots } = StorageTestContractAbi__factory; + const { storageSlots } = StorageTestContractAbi; // #region contract-deployment-storage-slots // #context import storageSlots from '../your-sway-project/out/debug/your-sway-project-storage_slots.json'; const factory = new ContractFactory( StorageTestContractAbiHex, - StorageTestContractAbi__factory.abi, + StorageTestContractAbi.abi, wallet ); const deploy = await factory.deployContract({ @@ -59,7 +59,7 @@ describe('StorageTestContract', () => { const factory = new ContractFactory( StorageTestContractAbiHex, - StorageTestContractAbi__factory.abi, + StorageTestContractAbi.abi, wallet ); // #region contract-deployment-storage-slots-inline diff --git a/packages/fuel-gauge/src/str-slice.test.ts b/packages/fuel-gauge/src/str-slice.test.ts index 35a5464d87a..2416eba163d 100644 --- a/packages/fuel-gauge/src/str-slice.test.ts +++ b/packages/fuel-gauge/src/str-slice.test.ts @@ -2,11 +2,7 @@ import { bn } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; import type { PredicateStrSliceAbiInputs } from '../test/typegen'; -import { - PredicateStrSliceAbi__factory, - ScriptStrSliceAbi__factory, - StrSliceAbi__factory, -} from '../test/typegen'; +import { PredicateStrSliceAbi, ScriptStrSliceAbi, StrSliceAbi } from '../test/typegen'; import contractBytes from '../test/typegen/contracts/StrSliceAbi.hex'; /** @@ -18,7 +14,7 @@ describe('str slice', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: StrSliceAbi__factory, + deployer: StrSliceAbi, bytecode: contractBytes, }, ], @@ -44,7 +40,7 @@ describe('str slice', () => { } = launched; const predicateData: PredicateStrSliceAbiInputs = ['predicate-input']; - const predicate = PredicateStrSliceAbi__factory.createInstance(provider, predicateData); + const predicate = PredicateStrSliceAbi.createInstance(provider, predicateData); const baseAssetId = provider.getBaseAssetId(); const amountToPredicate = 250_000; @@ -71,7 +67,7 @@ describe('str slice', () => { wallets: [sender], } = launched; - const script = await ScriptStrSliceAbi__factory.createInstance(sender); + const script = await ScriptStrSliceAbi.createInstance(sender); const input = 'script-input'; const output = 'script-return'; const { waitForResult } = await script.functions.main(input).call(); diff --git a/packages/fuel-gauge/src/token-test-contract.test.ts b/packages/fuel-gauge/src/token-test-contract.test.ts index 2344cf4f46a..373f06da191 100644 --- a/packages/fuel-gauge/src/token-test-contract.test.ts +++ b/packages/fuel-gauge/src/token-test-contract.test.ts @@ -3,7 +3,7 @@ import type { AssetId, BN } from 'fuels'; import { toHex, Wallet, bn } from 'fuels'; import { expectToThrowFuelError, launchTestNode } from 'fuels/test-utils'; -import { TokenContractAbi__factory } from '../test/typegen'; +import { TokenContractAbi } from '../test/typegen'; import TokenContractAbiHex from '../test/typegen/contracts/TokenContractAbi.hex'; /** * @group node @@ -16,7 +16,7 @@ describe('TokenTestContract', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: TokenContractAbi__factory, + deployer: TokenContractAbi, bytecode: TokenContractAbiHex, }, ], @@ -66,7 +66,7 @@ describe('TokenTestContract', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: TokenContractAbi__factory, + deployer: TokenContractAbi, bytecode: TokenContractAbiHex, }, ], @@ -141,7 +141,7 @@ describe('TokenTestContract', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: TokenContractAbi__factory, + deployer: TokenContractAbi, bytecode: TokenContractAbiHex, }, ], @@ -181,7 +181,7 @@ describe('TokenTestContract', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: TokenContractAbi__factory, + deployer: TokenContractAbi, bytecode: TokenContractAbiHex, }, ], diff --git a/packages/fuel-gauge/src/transaction-summary.test.ts b/packages/fuel-gauge/src/transaction-summary.test.ts index 840eafae653..d15b5c9260d 100644 --- a/packages/fuel-gauge/src/transaction-summary.test.ts +++ b/packages/fuel-gauge/src/transaction-summary.test.ts @@ -18,7 +18,7 @@ import { } from 'fuels'; import { ASSET_A, ASSET_B, launchTestNode } from 'fuels/test-utils'; -import { MultiTokenContractAbi__factory, TokenContractAbi__factory } from '../test/typegen'; +import { MultiTokenContractAbi, TokenContractAbi } from '../test/typegen'; import MultiTokenContractAbiHex from '../test/typegen/contracts/MultiTokenContractAbi.hex'; import TokenContractAbiHex from '../test/typegen/contracts/TokenContractAbi.hex'; @@ -244,7 +244,7 @@ describe('TransactionSummary', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: MultiTokenContractAbi__factory, + deployer: MultiTokenContractAbi, bytecode: MultiTokenContractAbiHex, }, ], @@ -276,7 +276,7 @@ describe('TransactionSummary', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: TokenContractAbi__factory, + deployer: TokenContractAbi, bytecode: TokenContractAbiHex, }, ], @@ -318,7 +318,7 @@ describe('TransactionSummary', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: TokenContractAbi__factory, + deployer: TokenContractAbi, bytecode: TokenContractAbiHex, }, ], @@ -397,11 +397,11 @@ describe('TransactionSummary', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: TokenContractAbi__factory, + deployer: TokenContractAbi, bytecode: TokenContractAbiHex, }, { - deployer: TokenContractAbi__factory, + deployer: TokenContractAbi, bytecode: TokenContractAbiHex, }, ], @@ -446,15 +446,15 @@ describe('TransactionSummary', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: TokenContractAbi__factory, + deployer: TokenContractAbi, bytecode: TokenContractAbiHex, }, { - deployer: TokenContractAbi__factory, + deployer: TokenContractAbi, bytecode: TokenContractAbiHex, }, { - deployer: TokenContractAbi__factory, + deployer: TokenContractAbi, bytecode: TokenContractAbiHex, }, ], diff --git a/packages/fuel-gauge/src/vector-types.test.ts b/packages/fuel-gauge/src/vector-types.test.ts index 69aea48368b..e5114b9753b 100644 --- a/packages/fuel-gauge/src/vector-types.test.ts +++ b/packages/fuel-gauge/src/vector-types.test.ts @@ -1,10 +1,10 @@ import { bn, Predicate, Wallet, Address } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { VectorTypesScriptAbi__factory } from '../test/typegen'; -import { VectorTypesContractAbi__factory } from '../test/typegen/contracts'; +import { VectorTypesScriptAbi } from '../test/typegen'; +import { VectorTypesContractAbi } from '../test/typegen/contracts'; import VectorTypesContractAbiHex from '../test/typegen/contracts/VectorTypesContractAbi.hex'; -import { PredicateVectorTypesAbi__factory } from '../test/typegen/predicates'; +import { PredicateVectorTypesAbi } from '../test/typegen/predicates'; import { launchTestContract } from './utils'; @@ -84,7 +84,7 @@ type MainArgs = [ describe('Vector Types Validation', () => { it('can use supported vector types [vector-types-contract]', async () => { using contractInstance = await launchTestContract({ - deployer: VectorTypesContractAbi__factory, + deployer: VectorTypesContractAbi, bytecode: VectorTypesContractAbiHex, }); @@ -115,7 +115,7 @@ describe('Vector Types Validation', () => { wallets: [wallet], } = launched; - const scriptInstance = VectorTypesScriptAbi__factory.createInstance(wallet); + const scriptInstance = VectorTypesScriptAbi.createInstance(wallet); const { waitForResult } = await scriptInstance.functions .main( @@ -150,9 +150,9 @@ describe('Vector Types Validation', () => { const amountToPredicate = 300_000; const amountToReceiver = 50; const predicate = new Predicate({ - bytecode: PredicateVectorTypesAbi__factory.bin, + bytecode: PredicateVectorTypes.bytecode, provider: wallet.provider, - abi: PredicateVectorTypesAbi__factory.abi, + abi: PredicateVectorTypesAbi.abi, inputData: [ U32_VEC, VEC_IN_VEC, diff --git a/packages/fuel-gauge/src/vectors.test.ts b/packages/fuel-gauge/src/vectors.test.ts index 10bd0f46d70..abb55e4fa45 100644 --- a/packages/fuel-gauge/src/vectors.test.ts +++ b/packages/fuel-gauge/src/vectors.test.ts @@ -1,7 +1,7 @@ import { bn, randomBytes, hexlify } from 'fuels'; import type { BN } from 'fuels'; -import { VectorsAbi__factory } from '../test/typegen/contracts'; +import { VectorsAbi } from '../test/typegen/contracts'; import VectorsAbiHex from '../test/typegen/contracts/VectorsAbi.hex'; import { launchTestContract } from './utils'; @@ -14,7 +14,7 @@ enum SmallEnum { function setupContract() { return launchTestContract({ - deployer: VectorsAbi__factory, + deployer: VectorsAbi, bytecode: VectorsAbiHex, }); } diff --git a/packages/fuels/test/features/build.test.ts b/packages/fuels/test/features/build.test.ts index ff473a2f7f2..3e9a29a1a41 100644 --- a/packages/fuels/test/features/build.test.ts +++ b/packages/fuels/test/features/build.test.ts @@ -48,16 +48,16 @@ describe( await runBuild({ root: paths.root }); const files = [ - 'predicates/factories/PredicateTrueAbi__factory.ts', + 'predicates/factories/PredicateTrueAbi.ts', 'predicates/index.ts', 'contracts/BarFooAbi.d.ts', 'contracts/BarFooAbi.hex.ts', 'contracts/FooBarAbi.hex.ts', 'contracts/FooBarAbi.d.ts', - 'contracts/factories/FooBarAbi__factory.ts', - 'contracts/factories/BarFooAbi__factory.ts', + 'contracts/factories/FooBarAbi.ts', + 'contracts/factories/BarFooAbi.ts', 'contracts/index.ts', - 'scripts/factories/ScriptTrueAbi__factory.ts', + 'scripts/factories/ScriptTrueAbi.ts', 'scripts/index.ts', 'index.ts', ].map((f) => join(paths.outputDir, f)); @@ -87,7 +87,7 @@ describe( const files = [ 'contracts/FooBarAbi.hex.ts', 'contracts/FooBarAbi.d.ts', - 'contracts/factories/FooBarAbi__factory.ts', + 'contracts/factories/FooBarAbi.ts', 'contracts/index.ts', 'index.ts', ].map((f) => join(paths.outputDir, f)); @@ -144,7 +144,7 @@ describe( const files = [ 'contracts/FooBarAbi.hex.ts', 'contracts/FooBarAbi.d.ts', - 'contracts/factories/FooBarAbi__factory.ts', + 'contracts/factories/FooBarAbi.ts', 'contracts/index.ts', 'index.ts', ].map((f) => join(paths.outputDir, f)); diff --git a/packages/fuels/test/utils/runCommands.ts b/packages/fuels/test/utils/runCommands.ts index 96daabc61de..e4a73f5a028 100644 --- a/packages/fuels/test/utils/runCommands.ts +++ b/packages/fuels/test/utils/runCommands.ts @@ -46,7 +46,7 @@ export function bootstrapProject(testFilepath: string) { const outputDir = join(root, 'output'); const contractsJsonPath = join(outputDir, 'contract-ids.json'); - const fooContractFactoryPath = join(outputDir, 'contracts', 'factories', 'FooBarAbi__factory.ts'); + const fooContractFactoryPath = join(outputDir, 'contracts', 'factories', 'FooBarAbi.ts'); const forcPath = 'fuels-forc'; const fuelCorePath = 'fuels-core'; diff --git a/templates/nextjs/src/app/page.tsx b/templates/nextjs/src/app/page.tsx index a1027cbb6b6..f108b1dcdd9 100644 --- a/templates/nextjs/src/app/page.tsx +++ b/templates/nextjs/src/app/page.tsx @@ -1,7 +1,7 @@ "use client"; import type { TestContractAbi } from "@/sway-api"; -import { TestContractAbi__factory } from "@/sway-api"; +import { TestContractAbi } from "@/sway-api"; import contractIds from "@/sway-api/contract-ids.json"; import { FuelLogo } from "@/components/FuelLogo"; import { bn } from "fuels"; @@ -30,7 +30,7 @@ export default function Home() { useAsync(async () => { if (wallet) { // Create a new instance of the contract - const testContract = TestContractAbi__factory.connect(contractId, wallet); + const testContract = TestContractAbi.connect(contractId, wallet); setContract(testContract); // Read the current value of the counter diff --git a/templates/nextjs/src/app/predicate/page.tsx b/templates/nextjs/src/app/predicate/page.tsx index 2687f193567..6220dbfbeb6 100644 --- a/templates/nextjs/src/app/predicate/page.tsx +++ b/templates/nextjs/src/app/predicate/page.tsx @@ -5,7 +5,7 @@ import { FuelLogo } from "@/components/FuelLogo"; import { Input } from "@/components/Input"; import { Link } from "@/components/Link"; import { useActiveWallet } from "@/hooks/useActiveWallet"; -import { TestPredicateAbi__factory } from "@/sway-api/predicates/index"; +import { TestPredicateAbi } from "@/sway-api/predicates/index"; import { BN, InputValue, Predicate } from "fuels"; import { bn } from "fuels"; import { useState } from "react"; @@ -27,9 +27,7 @@ export default function PredicateExample() { if (wallet) { baseAssetId = wallet.provider.getBaseAssetId(); // Initialize a new predicate instance - const predicate = TestPredicateAbi__factory.createInstance( - wallet.provider, - ); + const predicate = TestPredicateAbi.createInstance(wallet.provider); setPredicate(predicate); setPredicateBalance(await predicate.getBalance()); } @@ -65,7 +63,7 @@ export default function PredicateExample() { } // Initialize a new predicate instance with the entered pin - const reInitializePredicate = TestPredicateAbi__factory.createInstance( + const reInitializePredicate = TestPredicateAbi.createInstance( wallet.provider, [bn(pin)], ); diff --git a/templates/nextjs/src/app/script/page.tsx b/templates/nextjs/src/app/script/page.tsx index 824a836a350..8ce587c699e 100644 --- a/templates/nextjs/src/app/script/page.tsx +++ b/templates/nextjs/src/app/script/page.tsx @@ -5,7 +5,7 @@ import { FuelLogo } from "@/components/FuelLogo"; import { Input } from "@/components/Input"; import { Link } from "@/components/Link"; import { useActiveWallet } from "@/hooks/useActiveWallet"; -import { TestScriptAbi__factory } from "@/sway-api"; +import { TestScriptAbi } from "@/sway-api"; import { BN, BigNumberish, Script, bn } from "fuels"; import { useState } from "react"; import toast from "react-hot-toast"; @@ -21,7 +21,7 @@ export default function ScriptExample() { useAsync(async () => { if (wallet) { // Initialize script instance - const script = TestScriptAbi__factory.createInstance(wallet); + const script = TestScriptAbi.createInstance(wallet); setScript(script); } }, [wallet]); diff --git a/templates/nextjs/test/contract.test.ts b/templates/nextjs/test/contract.test.ts index 947ef4563dc..5d557e3f003 100644 --- a/templates/nextjs/test/contract.test.ts +++ b/templates/nextjs/test/contract.test.ts @@ -7,7 +7,7 @@ import { describe, test, expect } from 'vitest'; * * Can't find these imports? Make sure you've run `fuels build` to generate these with typegen. */ -import { TestContractAbi__factory } from '../src/sway-api'; +import { TestContractAbi } from '../src/sway-api'; import bytecode from '../src/sway-api/contracts/TestContractAbi.hex'; /** @@ -26,7 +26,7 @@ describe('Contract', () => { // because we are instantiating it with the `using` keyword. contractsConfigs: [ { - deployer: TestContractAbi__factory, + deployer: TestContractAbi, bytecode, }, ], diff --git a/templates/nextjs/test/predicate.test.ts b/templates/nextjs/test/predicate.test.ts index 8550ebb049a..c6ff7b6324a 100644 --- a/templates/nextjs/test/predicate.test.ts +++ b/templates/nextjs/test/predicate.test.ts @@ -7,7 +7,7 @@ import { describe, test, expect } from 'vitest'; * * Can't find these imports? Make sure you've run `fuels build` to generate these with typegen. */ -import { TestPredicateAbi__factory, TestPredicateAbiInputs } from '../src/sway-api'; +import { TestPredicateAbi, TestPredicateAbiInputs } from '../src/sway-api'; /** * @group node @@ -33,7 +33,7 @@ describe('Predicate', () => { const predicateData: TestPredicateAbiInputs = [1337]; // Now, we can instantiate our predicate. - const predicate = TestPredicateAbi__factory.createInstance(provider, predicateData); + const predicate = TestPredicateAbi.createInstance(provider, predicateData); // Lets also setup some transfer values to assert against. const amountToPredicate = 250_000; diff --git a/templates/nextjs/test/script.test.ts b/templates/nextjs/test/script.test.ts index 0378b07d780..e58df509f94 100644 --- a/templates/nextjs/test/script.test.ts +++ b/templates/nextjs/test/script.test.ts @@ -7,7 +7,7 @@ import { describe, test, expect } from 'vitest'; * * Can't find these imports? Make sure you've run `fuels build` to generate these with typegen. */ -import { TestScriptAbi__factory } from '../src/sway-api'; +import { TestScriptAbi } from '../src/sway-api'; /** * @group node @@ -29,7 +29,7 @@ describe('Script', () => { } = launched; // Now, we can instantiate our script. - const script = TestScriptAbi__factory.createInstance(sender); + const script = TestScriptAbi.createInstance(sender); // Lets also setup a value to use in the test. const expectedValue = 1337; From b6b0a083afca8b074799511c9dd04f017a3b7260 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sun, 21 Jul 2024 18:18:39 -0300 Subject: [PATCH 20/95] Adjusting launcher utility --- packages/contract/src/test-utils/launch-test-node.ts | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/packages/contract/src/test-utils/launch-test-node.ts b/packages/contract/src/test-utils/launch-test-node.ts index 1987632aa24..f732035d2c0 100644 --- a/packages/contract/src/test-utils/launch-test-node.ts +++ b/packages/contract/src/test-utils/launch-test-node.ts @@ -14,11 +14,7 @@ import { mergeDeepRight } from 'ramda'; import type { DeployContractOptions, DeployContractResult } from '../contract-factory'; export interface ContractDeployer { - deployContract( - bytecode: BytesLike, - wallet: Account, - options?: DeployContractOptions - ): Promise; + deploy(wallet: Account, options?: DeployContractOptions): Promise; } export interface DeployContractConfig { @@ -49,7 +45,7 @@ export interface LaunchTestNodeOptions = { [K in keyof T]: Awaited< - ReturnType>['waitForResult']> + ReturnType>['waitForResult']> >['contract']; }; export interface LaunchTestNodeReturn From f47cc6dd04187946b077e15c2e7cc7aeaccfb166 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Mon, 22 Jul 2024 05:30:57 -0300 Subject: [PATCH 21/95] A bunch of adjustments everywhere --- .../src/templates/common/_header.hbs | 1 + .../abi-typegen/src/templates/common/index.hbs | 4 +--- .../abi-typegen/src/templates/common/index.ts | 3 +-- .../src/templates/contract/factory.hbs | 7 +++++-- .../src/templates/contract/factory.ts | 17 +++++++++++++++-- .../abi-typegen/src/templates/contract/main.ts | 1 - .../src/templates/predicate/main.hbs | 2 +- .../abi-typegen/src/templates/script/main.hbs | 11 ++++------- .../contract-with-configurable/main.hbs | 1 + .../fixtures/templates/contract/factory.hbs | 1 + .../test/fixtures/templates/contract/index.hbs | 1 + .../test/fixtures/templates/contract/main.hbs | 1 + .../predicate-with-configurable/index.hbs | 1 + .../predicate-with-configurable/main.hbs | 3 ++- .../test/fixtures/templates/predicate/index.hbs | 1 + .../test/fixtures/templates/predicate/main.hbs | 3 ++- .../templates/script-with-configurable/main.hbs | 12 +++++------- .../test/fixtures/templates/script/main.hbs | 12 +++++------- 18 files changed, 48 insertions(+), 34 deletions(-) diff --git a/packages/abi-typegen/src/templates/common/_header.hbs b/packages/abi-typegen/src/templates/common/_header.hbs index a95d275a397..17d498c0e25 100644 --- a/packages/abi-typegen/src/templates/common/_header.hbs +++ b/packages/abi-typegen/src/templates/common/_header.hbs @@ -1,3 +1,4 @@ +/* eslint-disable max-classes-per-file */ /* Autogenerated file. Do not edit manually. */ /* diff --git a/packages/abi-typegen/src/templates/common/index.hbs b/packages/abi-typegen/src/templates/common/index.hbs index 09b2228cb60..a63843faf7d 100644 --- a/packages/abi-typegen/src/templates/common/index.hbs +++ b/packages/abi-typegen/src/templates/common/index.hbs @@ -5,9 +5,7 @@ export * from './{{capitalizedName}}'; export * from './{{capitalizedName}}Factory'; {{/each}} -{{/if}} - -{{#if isGeneratingPredicates}} +{{else}} {{#each abis}} export * from './{{capitalizedName}}'; {{/each}} diff --git a/packages/abi-typegen/src/templates/common/index.ts b/packages/abi-typegen/src/templates/common/index.ts index 6e52db5d3ac..e900ba32b24 100644 --- a/packages/abi-typegen/src/templates/common/index.ts +++ b/packages/abi-typegen/src/templates/common/index.ts @@ -8,11 +8,10 @@ export function renderIndexTemplate(params: { abis: Abi[] }) { const { abis } = params; const isGeneratingContracts = abis[0].programType === ProgramTypeEnum.CONTRACT; - const isGeneratingPredicates = abis[0].programType === ProgramTypeEnum.PREDICATE; const text = renderHbsTemplate({ template: indexTemplate, - data: { abis, isGeneratingContracts, isGeneratingPredicates }, + data: { abis, isGeneratingContracts }, }); return text; diff --git a/packages/abi-typegen/src/templates/contract/factory.hbs b/packages/abi-typegen/src/templates/contract/factory.hbs index 39bdba23e75..1c1c331022b 100644 --- a/packages/abi-typegen/src/templates/contract/factory.hbs +++ b/packages/abi-typegen/src/templates/contract/factory.hbs @@ -4,11 +4,14 @@ import { ContractFactory } from "fuels"; import type { Provider, Account, DeployContractOptions, DeployContractResult } from "fuels"; import { {{capitalizedName}} } from "./{{capitalizedName}}"; -export const {{camelizedName}}Bytecode = "0x1af030007400000200000000000006785dffc00110ffff00740000001aec5000910003407240004a5fed00011a4060005fed005f5d47b05f5d43b001724800081b412400104114005fed00615d43b0611ae9000020f8330058fbe00250fbe004740001191a43d0005fed00635d43b0635047b0205fed00045043b1c872480008284114805047b2787248000828450480724000495fed00001a4060005fed00605d43b0605d47b000724800081b452440104104405fed00625d43b0621ae9000020f8330058fbe00250fbe004740000fe1a43d0005fed00645d43b0645047b0605fed000c5043b1d072480008284114805047b2b072480008284504805043b2b01ae9000020f8330058fbe00250fbe004740000ff1a47d0005fed105d5047b2e85d4bb05d504fb03872500008284d05005051300872540008285115405047b33072500010284535005d4500001b481480104514805f4110005043b3305047b1d872480010284504805043b2d072480010284114805043b2d05047b15872480010284504801ae9100020f8330058fbe00250fbe004740000f31a43d0005047b2e8504bb0285fed000550412008724c0008284114c05043b1f872440010284124405047b20872480010284504805d43f002104100c0504bb280724c0010284914c0504bb2805047b0105fed00027240000c5fed0003504fb0b072400010284d14005043b17872440010284124401ae9000020f8330058fbe00250fbe004740000e61a43d0005047b18872500010284535001ae9100020f8330058fbe00250fbe004740000dd1a47d00013410440134500001a400000764400225043b1a872440010284124401ae9000020f8330058fbe00250fbe004740000e81a43d0005fed00655043b1b872440010284134401ae9000020f8330058fbe00250fbe004740000de1a43d0005fed005e5043b19872440010284124401ae9000020f8330058fbe00250fbe004740000bc1a43d0005fed005c5d43b0655d47b05e5d4bb05c2941045276400001740000765043b2781ae9000020f8330058fbe00250fbe004740000841a43d0005047b0805fed00105043b21872480008284114805047b22072480008284504805043b2a872480008284114805d43b0555fed00525043b29072440400264400001a447000504bb0885fed1011724404005fed10125fec00135047b0c0724c0018284524c0504bb228724c0018284914c05047b118724c0018284524c0504bb048724c0018284914c05d53b0095d4fb00a5d47b00b7248000810491480154924c07648000174000005724800021b4d3480264c0000281d44401a50700010494440725400082849054072400008104114005047b0d85fed401b5fed301c5fed001d5043b10072480018284114805047b24072480018284504805043b2b872480018284114805043b2b85047b13072480018284504805043b06872480018284114805d47b00d50410010504bb0f05fed101e50452008724c0008284504c05043b25872440010284124405047b26872480010284504805043b29872480010284114805043b2985047b16872480010284504801ae9100020f8330058fbe00250fbe004740000371a43d0005047b298504bb148724c0010284914c05047b1e8724c0010284524c0504bb0a0724c0010284914c05d47b01512451040254110007240007b3640000095000007960800001aec50001a43a0001a47e000760000077248000813492040764800025d410000740000015c410000740000001af500001af9100098080000970000074af800009500000f960800001aec5000910000081a43a0001a47e0005d4900005d4920005fed20005d490000724c00081b4c14c0104924c05f4120005d43b0001af50000920000081af91000980800009700000f4af800009500000f960800001aec5000910000301a43a0001a47e000504bb010724c0010284904c05043b020724c0010284124c07248001028ed04805d43b0041af50000920000301af91000980800009700000f4af800009500000f960800001aec5000910000281a43a0001a47e0007248001028ed04801a43b000504bb010724c0010284904c05043b01050410008504bb020724c0008284904c05d43b0031af50000920000281af91000980800009700000f4af800009500000f960800001aec5000910000281a43a0001a47e0007248001028ed04801a43b000504bb010724c0010284904c05043b010504bb020724c0008284904c05d43b0021af50000920000281af91000980800009700000f4af800004700000072657475726e5f696e7075740000000000000000000004a8"; +export const bytecode = "{{hexlifiedBinString}}"; export class {{capitalizedName}}Factory extends ContractFactory { + + static readonly bytecode = bytecode; + constructor(accountOrProvider: Account | Provider) { - super({{camelizedName}}Bytecode, {{capitalizedName}}.abi, accountOrProvider); + super(bytecode, {{capitalizedName}}.abi, accountOrProvider); } static async deploy ( diff --git a/packages/abi-typegen/src/templates/contract/factory.ts b/packages/abi-typegen/src/templates/contract/factory.ts index 0b4556c9d6a..b4611a81c7e 100644 --- a/packages/abi-typegen/src/templates/contract/factory.ts +++ b/packages/abi-typegen/src/templates/contract/factory.ts @@ -4,13 +4,26 @@ import { renderHbsTemplate } from '../renderHbsTemplate'; import factoryTemplate from './factory.hbs'; export function renderFactoryTemplate(params: { abi: Abi }) { - const { camelizedName, capitalizedName, rawContents, storageSlotsContents } = params.abi; + const { + camelizedName, + capitalizedName, + rawContents, + storageSlotsContents, + hexlifiedBinContents: hexlifiedBinString, + } = params.abi; + const abiJsonString = JSON.stringify(rawContents, null, 2); const storageSlotsJsonString = storageSlotsContents ?? '[]'; const text = renderHbsTemplate({ template: factoryTemplate, - data: { camelizedName, capitalizedName, abiJsonString, storageSlotsJsonString }, + data: { + camelizedName, + capitalizedName, + abiJsonString, + storageSlotsJsonString, + hexlifiedBinString, + }, }); return text; diff --git a/packages/abi-typegen/src/templates/contract/main.ts b/packages/abi-typegen/src/templates/contract/main.ts index d0134f022b1..49f644794bd 100644 --- a/packages/abi-typegen/src/templates/contract/main.ts +++ b/packages/abi-typegen/src/templates/contract/main.ts @@ -61,7 +61,6 @@ export function renderMainTemplate(params: { abi: Abi }) { template: mainTemplate, data: { camelizedName, - binHexlified: hexlifiedBinContents, capitalizedName, commonTypesInUse: commonTypesInUse.join(', '), functionsTypedefs, diff --git a/packages/abi-typegen/src/templates/predicate/main.hbs b/packages/abi-typegen/src/templates/predicate/main.hbs index 5564e4ac312..b655cf44ec0 100644 --- a/packages/abi-typegen/src/templates/predicate/main.hbs +++ b/packages/abi-typegen/src/templates/predicate/main.hbs @@ -52,7 +52,7 @@ const abi = {{abiJsonString}}; const bytecode = '{{hexlifiedBinString}}'; -export class {{capitalizedName}} extends Predicate { +export class {{capitalizedName}} extends Predicate<{{capitalizedName}}Inputs> { static readonly abi = abi; static readonly bytecode = bytecode; diff --git a/packages/abi-typegen/src/templates/script/main.hbs b/packages/abi-typegen/src/templates/script/main.hbs index 0da473c47ea..015efc8347e 100644 --- a/packages/abi-typegen/src/templates/script/main.hbs +++ b/packages/abi-typegen/src/templates/script/main.hbs @@ -40,8 +40,8 @@ export type {{structName}}Output{{typeAnnotations}} = { {{outputValues}} }; {{/if}} {{/each}} -type {{capitalizedName}}Inputs = [{{inputs}}]; -type {{capitalizedName}}Output = {{output}}; +export type {{capitalizedName}}Inputs = [{{inputs}}]; +export type {{capitalizedName}}Output = {{output}}; {{#if formattedConfigurables}} export type {{capitalizedName}}Configurables = { @@ -55,15 +55,12 @@ const abi = {{abiJsonString}}; const bytecode = '{{hexlifiedBinString}}'; -export class {{capitalizedName}} extends Script { +export class {{capitalizedName}} extends Script<{{capitalizedName}}Inputs, {{capitalizedName}}Output> { static readonly abi = abi; static readonly bytecode = bytecode; constructor(wallet: Account) { - super< - {{capitalizedName}}Inputs, - {{capitalizedName}}Output - >(bytecode, abi, wallet); + super(bytecode, abi, wallet); } } diff --git a/packages/abi-typegen/test/fixtures/templates/contract-with-configurable/main.hbs b/packages/abi-typegen/test/fixtures/templates/contract-with-configurable/main.hbs index 31ab8393b8a..9929f48aec7 100644 --- a/packages/abi-typegen/test/fixtures/templates/contract-with-configurable/main.hbs +++ b/packages/abi-typegen/test/fixtures/templates/contract-with-configurable/main.hbs @@ -1,3 +1,4 @@ +/* eslint-disable max-classes-per-file */ /* Autogenerated file. Do not edit manually. */ /* diff --git a/packages/abi-typegen/test/fixtures/templates/contract/factory.hbs b/packages/abi-typegen/test/fixtures/templates/contract/factory.hbs index 13e76cb7599..fa77a9625b6 100644 --- a/packages/abi-typegen/test/fixtures/templates/contract/factory.hbs +++ b/packages/abi-typegen/test/fixtures/templates/contract/factory.hbs @@ -1,3 +1,4 @@ +/* eslint-disable max-classes-per-file */ /* Autogenerated file. Do not edit manually. */ /* diff --git a/packages/abi-typegen/test/fixtures/templates/contract/index.hbs b/packages/abi-typegen/test/fixtures/templates/contract/index.hbs index b71d24c1953..b364ff5a7f0 100644 --- a/packages/abi-typegen/test/fixtures/templates/contract/index.hbs +++ b/packages/abi-typegen/test/fixtures/templates/contract/index.hbs @@ -1,3 +1,4 @@ +/* eslint-disable max-classes-per-file */ /* Autogenerated file. Do not edit manually. */ /* diff --git a/packages/abi-typegen/test/fixtures/templates/contract/main.hbs b/packages/abi-typegen/test/fixtures/templates/contract/main.hbs index 832ab1fa6c3..7a3234b24ee 100644 --- a/packages/abi-typegen/test/fixtures/templates/contract/main.hbs +++ b/packages/abi-typegen/test/fixtures/templates/contract/main.hbs @@ -1,3 +1,4 @@ +/* eslint-disable max-classes-per-file */ /* Autogenerated file. Do not edit manually. */ /* diff --git a/packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/index.hbs b/packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/index.hbs index adf1da7692b..c64dd3c3404 100644 --- a/packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/index.hbs +++ b/packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/index.hbs @@ -1,3 +1,4 @@ +/* eslint-disable max-classes-per-file */ /* Autogenerated file. Do not edit manually. */ /* diff --git a/packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/main.hbs b/packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/main.hbs index 951b2983dc3..0624ac48bb0 100644 --- a/packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/main.hbs +++ b/packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/main.hbs @@ -1,3 +1,4 @@ +/* eslint-disable max-classes-per-file */ /* Autogenerated file. Do not edit manually. */ /* @@ -91,7 +92,7 @@ const abi = { const bytecode = '0x000'; -export class MyPredicate extends Predicate { +export class MyPredicate extends Predicate { static readonly abi = abi; static readonly bytecode = bytecode; diff --git a/packages/abi-typegen/test/fixtures/templates/predicate/index.hbs b/packages/abi-typegen/test/fixtures/templates/predicate/index.hbs index c6d06db744a..08499c6adf5 100644 --- a/packages/abi-typegen/test/fixtures/templates/predicate/index.hbs +++ b/packages/abi-typegen/test/fixtures/templates/predicate/index.hbs @@ -1,3 +1,4 @@ +/* eslint-disable max-classes-per-file */ /* Autogenerated file. Do not edit manually. */ /* diff --git a/packages/abi-typegen/test/fixtures/templates/predicate/main.hbs b/packages/abi-typegen/test/fixtures/templates/predicate/main.hbs index 3d4eb886f3c..9cc691ac4a6 100644 --- a/packages/abi-typegen/test/fixtures/templates/predicate/main.hbs +++ b/packages/abi-typegen/test/fixtures/templates/predicate/main.hbs @@ -1,3 +1,4 @@ +/* eslint-disable max-classes-per-file */ /* Autogenerated file. Do not edit manually. */ /* @@ -290,7 +291,7 @@ const abi = { const bytecode = '0x000'; -export class MyPredicate extends Predicate { +export class MyPredicate extends Predicate { static readonly abi = abi; static readonly bytecode = bytecode; diff --git a/packages/abi-typegen/test/fixtures/templates/script-with-configurable/main.hbs b/packages/abi-typegen/test/fixtures/templates/script-with-configurable/main.hbs index 8644144d5a2..62b4e956fc2 100644 --- a/packages/abi-typegen/test/fixtures/templates/script-with-configurable/main.hbs +++ b/packages/abi-typegen/test/fixtures/templates/script-with-configurable/main.hbs @@ -1,3 +1,4 @@ +/* eslint-disable max-classes-per-file */ /* Autogenerated file. Do not edit manually. */ /* @@ -15,8 +16,8 @@ import { export type ScoreInput = { user: BigNumberish, points: BigNumberish }; export type ScoreOutput = { user: number, points: number }; -type MyScriptInputs = [score: ScoreInput]; -type MyScriptOutput = boolean; +export type MyScriptInputs = [score: ScoreInput]; +export type MyScriptOutput = boolean; export type MyScriptConfigurables = { SHOULD_RETURN: boolean; @@ -90,15 +91,12 @@ const abi = { const bytecode = '0x000'; -export class MyScript extends Script { +export class MyScript extends Script { static readonly abi = abi; static readonly bytecode = bytecode; constructor(wallet: Account) { - super< - MyScriptInputs, - MyScriptOutput - >(bytecode, abi, wallet); + super(bytecode, abi, wallet); } } diff --git a/packages/abi-typegen/test/fixtures/templates/script/main.hbs b/packages/abi-typegen/test/fixtures/templates/script/main.hbs index e0329221387..3fad33bda88 100644 --- a/packages/abi-typegen/test/fixtures/templates/script/main.hbs +++ b/packages/abi-typegen/test/fixtures/templates/script/main.hbs @@ -1,3 +1,4 @@ +/* eslint-disable max-classes-per-file */ /* Autogenerated file. Do not edit manually. */ /* @@ -23,8 +24,8 @@ export type MyGenericStructOutput = MyGenericStructInput; export type ScoreInput = { user: BigNumberish, points: BigNumberish }; export type ScoreOutput = { user: number, points: number }; -type MyScriptInputs = [vec: Vec, enm: MyGenericEnumInput, opt: Option, res: Result, BigNumberish>]; -type MyScriptOutput = boolean; +export type MyScriptInputs = [vec: Vec, enm: MyGenericEnumInput, opt: Option, res: Result, BigNumberish>]; +export type MyScriptOutput = boolean; const abi = { "encoding": "1", @@ -287,15 +288,12 @@ const abi = { const bytecode = '0x000'; -export class MyScript extends Script { +export class MyScript extends Script { static readonly abi = abi; static readonly bytecode = bytecode; constructor(wallet: Account) { - super< - MyScriptInputs, - MyScriptOutput - >(bytecode, abi, wallet); + super(bytecode, abi, wallet); } } From 4990ef8fd9969a61f5505b96b74eac269a043ae1 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Mon, 22 Jul 2024 10:45:58 -0300 Subject: [PATCH 22/95] A bunch more --- .../src/app/page.tsx | 7 +- .../src/app/predicate/page.tsx | 13 +--- .../src/app/script/page.tsx | 4 +- apps/demo-typegen/src/demo.test.ts | 2 +- .../create-fuels/decrement_counter.test.ts | 3 +- .../guide/encoding/encode-and-decode.test.ts | 4 +- .../testing/launching-a-test-node.test.ts | 1 - .../src/test-utils/launch-test-node.test.ts | 26 +++---- .../src/test-utils/launch-test-node.ts | 3 +- .../fuel-gauge/src/advanced-logging.test.ts | 78 +++++++++---------- packages/fuel-gauge/src/auth-testing.test.ts | 7 +- .../fuel-gauge/src/bytecode-sway-lib.test.ts | 11 ++- packages/fuel-gauge/src/bytes.test.ts | 11 ++- .../fuel-gauge/src/call-test-contract.test.ts | 1 - .../src/configurable-contract.test.ts | 3 +- .../fuel-gauge/src/contract-factory.test.ts | 20 ++--- packages/fuel-gauge/src/contract.test.ts | 31 +++++--- .../fuel-gauge/src/coverage-contract.test.ts | 3 +- packages/fuel-gauge/src/doc-examples.test.ts | 6 +- .../src/dry-run-multiple-txs.test.ts | 20 ++--- packages/fuel-gauge/src/edge-cases.test.ts | 3 +- packages/fuel-gauge/src/fee.test.ts | 13 ++-- .../src/generic-types-contract.test.ts | 3 +- .../src/is-function-readonly.test.ts | 3 +- packages/fuel-gauge/src/min-gas.test.ts | 7 +- .../src/multi-token-contract.test.ts | 1 - packages/fuel-gauge/src/options.test.ts | 5 +- .../fuel-gauge/src/payable-annotation.test.ts | 3 +- packages/fuel-gauge/src/policies.test.ts | 23 ++++-- .../predicate/predicate-configurables.test.ts | 20 ++--- .../predicate/predicate-estimations.test.ts | 33 ++++---- .../predicate/predicate-evaluations.test.ts | 4 +- .../src/predicate/predicate-general.test.ts | 2 +- .../predicate/predicate-input-data.test.ts | 2 +- .../predicate/predicate-invalidations.test.ts | 4 +- .../predicate-populate-witness.test.ts | 18 ++--- .../predicate/predicate-with-contract.test.ts | 7 +- .../predicate/predicate-with-script.test.ts | 4 +- packages/fuel-gauge/src/raw-slice.test.ts | 6 +- .../src/reentrant-contract-calls.test.ts | 13 ++-- packages/fuel-gauge/src/revert-error.test.ts | 10 ++- .../fuel-gauge/src/script-main-args.test.ts | 4 +- .../src/script-with-configurable.test.ts | 8 +- .../fuel-gauge/src/std-lib-string.test.ts | 13 ++-- .../src/storage-test-contract.test.ts | 13 ++-- packages/fuel-gauge/src/str-slice.test.ts | 15 ++-- .../src/token-test-contract.test.ts | 20 ++--- .../src/transaction-summary.test.ts | 41 +++++----- packages/fuel-gauge/src/vector-types.test.ts | 17 ++-- packages/fuel-gauge/src/vectors.test.ts | 7 +- templates/nextjs/src/app/page.tsx | 7 +- templates/nextjs/src/app/predicate/page.tsx | 11 ++- templates/nextjs/src/app/script/page.tsx | 4 +- templates/nextjs/test/contract.test.ts | 7 +- templates/nextjs/test/predicate.test.ts | 6 +- 55 files changed, 295 insertions(+), 316 deletions(-) diff --git a/apps/create-fuels-counter-guide/src/app/page.tsx b/apps/create-fuels-counter-guide/src/app/page.tsx index c129b33f9c8..be9230cb11e 100644 --- a/apps/create-fuels-counter-guide/src/app/page.tsx +++ b/apps/create-fuels-counter-guide/src/app/page.tsx @@ -1,7 +1,6 @@ "use client"; -import type { TestContractAbi } from "@/sway-api"; -import { TestContractAbi } from "@/sway-api"; +import { TestContract } from "@/sway-api"; import contractIds from "@/sway-api/contract-ids.json"; import { FuelLogo } from "@/components/FuelLogo"; import { bn } from "fuels"; @@ -22,7 +21,7 @@ const contractId = export default function Home() { const { wallet, walletBalance, refreshWalletBalance } = useActiveWallet(); - const [contract, setContract] = useState(); + const [contract, setContract] = useState(); const [counter, setCounter] = useState(); /** @@ -32,7 +31,7 @@ export default function Home() { useAsync(async () => { if (wallet) { // Create a new instance of the contract - const testContract = TestContractAbi.connect(contractId, wallet); + const testContract = new TestContract(contractId, wallet); setContract(testContract); // Read the current value of the counter diff --git a/apps/create-fuels-counter-guide/src/app/predicate/page.tsx b/apps/create-fuels-counter-guide/src/app/predicate/page.tsx index b680b82f9a7..1db5afe697c 100644 --- a/apps/create-fuels-counter-guide/src/app/predicate/page.tsx +++ b/apps/create-fuels-counter-guide/src/app/predicate/page.tsx @@ -5,7 +5,7 @@ import { FuelLogo } from "@/components/FuelLogo"; import { Input } from "@/components/Input"; import { Link } from "@/components/Link"; import { useActiveWallet } from "@/hooks/useActiveWallet"; -import { TestPredicateAbi } from "@/sway-api/predicates/index"; +import { TestPredicate } from "@/sway-api/predicates/index"; import { BN, InputValue, Predicate } from "fuels"; import { bn } from "fuels"; import { useState } from "react"; @@ -27,9 +27,7 @@ export default function PredicateExample() { if (wallet) { baseAssetId = wallet.provider.getBaseAssetId(); // Initialize a new predicate instance - const predicate = TestPredicateAbi.createInstance( - wallet.provider, - ); + const predicate = new TestPredicate(wallet.provider); setPredicate(predicate); setPredicateBalance(await predicate.getBalance()); } @@ -65,10 +63,7 @@ export default function PredicateExample() { } // Initialize a new predicate instance with the entered pin - const reInitializePredicate = TestPredicateAbi.createInstance( - wallet.provider, - [bn(pin)], - ); + const reInitializePredicate = new TestPredicate(wallet.provider, [bn(pin)]); if (!reInitializePredicate) { return toast.error("Failed to initialize predicate"); @@ -124,7 +119,7 @@ export default function PredicateExample() { const configurable = { PIN: bn(pin) }; // instantiate predicate with configurable constants - const reInitializePredicate = TestPredicateAbi.createInstance(wallet.provider, [bn(configurable.PIN)], configurable); + const reInitializePredicate = new TestPredicate(wallet.provider, [bn(configurable.PIN)], configurable); if (!reInitializePredicate) { return toast.error("Failed to initialize predicate"); diff --git a/apps/create-fuels-counter-guide/src/app/script/page.tsx b/apps/create-fuels-counter-guide/src/app/script/page.tsx index 8ce587c699e..ac6502eee46 100644 --- a/apps/create-fuels-counter-guide/src/app/script/page.tsx +++ b/apps/create-fuels-counter-guide/src/app/script/page.tsx @@ -5,7 +5,7 @@ import { FuelLogo } from "@/components/FuelLogo"; import { Input } from "@/components/Input"; import { Link } from "@/components/Link"; import { useActiveWallet } from "@/hooks/useActiveWallet"; -import { TestScriptAbi } from "@/sway-api"; +import { TestScript } from "@/sway-api"; import { BN, BigNumberish, Script, bn } from "fuels"; import { useState } from "react"; import toast from "react-hot-toast"; @@ -21,7 +21,7 @@ export default function ScriptExample() { useAsync(async () => { if (wallet) { // Initialize script instance - const script = TestScriptAbi.createInstance(wallet); + const script = new TestScript(wallet); setScript(script); } }, [wallet]); diff --git a/apps/demo-typegen/src/demo.test.ts b/apps/demo-typegen/src/demo.test.ts index aacfc7d9ddc..ebece3622f6 100644 --- a/apps/demo-typegen/src/demo.test.ts +++ b/apps/demo-typegen/src/demo.test.ts @@ -73,7 +73,7 @@ describe('ExampleContract', () => { // #region typegen-demo-contract-factory-deploy // #context import { DemoContractAbi } from './types'; - // #context import bytecode from './types/DemoContractAbi.hex'; + // #context // Deploy const deploy = await DemoContractFactory.deploy(wallet); diff --git a/apps/docs-snippets/src/guide/create-fuels/decrement_counter.test.ts b/apps/docs-snippets/src/guide/create-fuels/decrement_counter.test.ts index 5050967ad4b..6728ad8da30 100644 --- a/apps/docs-snippets/src/guide/create-fuels/decrement_counter.test.ts +++ b/apps/docs-snippets/src/guide/create-fuels/decrement_counter.test.ts @@ -2,7 +2,6 @@ import { launchTestNode } from 'fuels/test-utils'; import { describe, test, expect } from 'vitest'; import { CounterAbi } from '../../../test/typegen'; -import bytecode from '../../../test/typegen/contracts/CounterAbi.hex'; /** * @group node @@ -11,7 +10,7 @@ import bytecode from '../../../test/typegen/contracts/CounterAbi.hex'; describe('Counter Contract', () => { // #region decrement-counter // #context import { CounterAbi } from './sway-programs-api'; - // #context import bytecode from './sway-programs-api/contracts/CounterAbi.hex'; + // #context test('calls the decrement_counter function', async () => { // First, we'll launch a test node, passing the contract factory and bytecode. This will deploy the contract diff --git a/apps/docs-snippets/src/guide/encoding/encode-and-decode.test.ts b/apps/docs-snippets/src/guide/encoding/encode-and-decode.test.ts index 2daba90da91..e18f05bc62a 100644 --- a/apps/docs-snippets/src/guide/encoding/encode-and-decode.test.ts +++ b/apps/docs-snippets/src/guide/encoding/encode-and-decode.test.ts @@ -11,7 +11,7 @@ import type { Account, JsonAbi, JsonAbiArgument, TransactionResultReturnDataRece import { generateTestWallet } from 'fuels/test-utils'; import abiSnippet from '../../../test/fixtures/abi/encode-and-decode.jsonc'; -import { SumScriptAbi as factory } from '../../../test/typegen/scripts/factories/SumScriptAbi'; +import { SumScript as factory } from '../../../test/typegen/scripts/SumScript'; /** * @group node @@ -37,7 +37,7 @@ describe('encode and decode', () => { // First we need to build out the transaction via the script that we want to encode. // For that we'll need the ABI and the bytecode of the script const abi: JsonAbi = factory.abi; - const bytecode: string = factory.bin; + const bytecode: string = factory.bytecode; // Create the invocation scope for the script call, passing the initial // value for the configurable constant diff --git a/apps/docs-snippets/src/guide/testing/launching-a-test-node.test.ts b/apps/docs-snippets/src/guide/testing/launching-a-test-node.test.ts index 913207c6408..c5a730db04d 100644 --- a/apps/docs-snippets/src/guide/testing/launching-a-test-node.test.ts +++ b/apps/docs-snippets/src/guide/testing/launching-a-test-node.test.ts @@ -4,7 +4,6 @@ import { AssetId, TestMessage, launchTestNode } from 'fuels/test-utils'; import { join } from 'path'; import { CounterAbi as TestContract } from '../../../test/typegen/contracts'; -import bytecode from '../../../test/typegen/contracts/CounterAbi.hex'; /** * @group node diff --git a/packages/contract/src/test-utils/launch-test-node.test.ts b/packages/contract/src/test-utils/launch-test-node.test.ts index 6088a712a3c..d88afa64297 100644 --- a/packages/contract/src/test-utils/launch-test-node.test.ts +++ b/packages/contract/src/test-utils/launch-test-node.test.ts @@ -93,7 +93,7 @@ describe('launchTestNode', () => { contractsConfigs: [ { deployer: { - deployContract: () => { + deploy: () => { throw new Error('Test error'); }, }, @@ -119,8 +119,8 @@ describe('launchTestNode', () => { contractsConfigs: [ { deployer: { - deployContract: async (bytecode, wallet, options) => { - const factory = new ContractFactory(bytecode, abiContents, wallet); + deploy: async (wallet, options) => { + const factory = new ContractFactory(binHexlified, abiContents, wallet); return factory.deployContract(options); }, }, @@ -143,8 +143,8 @@ describe('launchTestNode', () => { contractsConfigs: [ { deployer: { - deployContract: async (bytecode, wallet, options) => { - const factory = new ContractFactory(bytecode, abiContents, wallet); + deploy: async (wallet, options) => { + const factory = new ContractFactory(binHexlified, abiContents, wallet); return factory.deployContract(options); }, }, @@ -152,8 +152,8 @@ describe('launchTestNode', () => { }, { deployer: { - deployContract: async (bytecode, wallet, options) => { - const factory = new ContractFactory(bytecode, abiContents, wallet); + deploy: async (wallet, options) => { + const factory = new ContractFactory(binHexlified, abiContents, wallet); return factory.deployContract(options); }, }, @@ -184,8 +184,8 @@ describe('launchTestNode', () => { contractsConfigs: [ { deployer: { - deployContract: async (bytecode, wallet, options) => { - const factory = new ContractFactory(bytecode, abiContents, wallet); + deploy: async (wallet, options) => { + const factory = new ContractFactory(binHexlified, abiContents, wallet); return factory.deployContract(options); }, }, @@ -193,8 +193,8 @@ describe('launchTestNode', () => { }, { deployer: { - deployContract: async (bytecode, wallet, options) => { - const factory = new ContractFactory(bytecode, abiContents, wallet); + deploy: async (wallet, options) => { + const factory = new ContractFactory(binHexlified, abiContents, wallet); return factory.deployContract(options); }, }, @@ -229,8 +229,8 @@ describe('launchTestNode', () => { contractsConfigs: [ { deployer: { - deployContract: async (bytecode, wallet, options) => { - const factory = new ContractFactory(bytecode, abiContents, wallet); + deploy: async (wallet, options) => { + const factory = new ContractFactory(binHexlified, abiContents, wallet); return factory.deployContract(options); }, }, diff --git a/packages/contract/src/test-utils/launch-test-node.ts b/packages/contract/src/test-utils/launch-test-node.ts index f732035d2c0..dfb94891b86 100644 --- a/packages/contract/src/test-utils/launch-test-node.ts +++ b/packages/contract/src/test-utils/launch-test-node.ts @@ -149,8 +149,7 @@ export async function launchTestNode { it('can get log data', async () => { using advancedLogContract = await launchTestContract({ - deployer: AdvancedLoggingAbi, - bytecode: AdvancedLoggingAbiHex, + deployer: AdvancedLoggingFactory, + bytecode: AdvancedLoggingFactory.bytecode, }); - + ``; const { waitForResult } = await advancedLogContract.functions.test_function().call(); const { value, logs } = await waitForResult(); @@ -75,8 +71,8 @@ describe('Advanced Logging', () => { it('can get log data from require [condition=true]', async () => { using advancedLogContract = await launchTestContract({ - deployer: AdvancedLoggingAbi, - bytecode: AdvancedLoggingAbiHex, + deployer: AdvancedLogging, + bytecode: AdvancedLoggingFactory.bytecode, }); const { waitForResult } = await advancedLogContract.functions @@ -91,8 +87,8 @@ describe('Advanced Logging', () => { it('can get log data from require [condition=false]', async () => { using advancedLogContract = await launchTestContract({ - deployer: AdvancedLoggingAbi, - bytecode: AdvancedLoggingAbiHex, + deployer: AdvancedLogging, + bytecode: AdvancedLoggingFactory.bytecode, }); const invocation = advancedLogContract.functions.test_function_with_require(1, 3); @@ -126,10 +122,10 @@ describe('Advanced Logging', () => { it('can get log data from a downstream Contract', async () => { using launched = await launchTestNode({ contractsConfigs: [ - { deployer: AdvancedLoggingAbi, bytecode: AdvancedLoggingAbiHex }, + { deployer: AdvancedLogging, bytecode: AdvancedLogging.bytecode }, { - deployer: AdvancedLoggingOtherContractAbi, - bytecode: AdvancedLoggingOtherContractAbiHex, + deployer: AdvancedLoggingOtherContract, + bytecode: AdvancedLoggingOtherContractFactory.bytecode, }, ], }); @@ -174,14 +170,14 @@ describe('Advanced Logging', () => { it('when using InvacationScope', async () => { using launched = await launchTestNode({ contractsConfigs: [ - { deployer: AdvancedLoggingAbi, bytecode: AdvancedLoggingAbiHex }, + { deployer: AdvancedLogging, bytecode: AdvancedLogging.bytecode }, { - deployer: AdvancedLoggingOtherContractAbi, - bytecode: AdvancedLoggingOtherContractAbiHex, + deployer: AdvancedLoggingOtherContract, + bytecode: AdvancedLoggingOtherContractFactory.bytecode, }, - { deployer: CallTestContractAbi, bytecode: CallTestContractAbiHex }, - { deployer: ConfigurableContractAbi, bytecode: ConfigurableContractAbiHex }, - { deployer: CoverageContractAbi, bytecode: CoverageContractAbiHex }, + { deployer: CallTestContract, bytecode: CallTestContract.bytecode }, + { deployer: ConfigurableContract, bytecode: ConfigurableContract.bytecode }, + { deployer: CoverageContract, bytecode: CoverageContract.bytecode }, ], }); @@ -216,14 +212,14 @@ describe('Advanced Logging', () => { it('when using ScriptTransactionRequest', async () => { using launched = await launchTestNode({ contractsConfigs: [ - { deployer: AdvancedLoggingAbi, bytecode: AdvancedLoggingAbiHex }, + { deployer: AdvancedLogging, bytecode: AdvancedLogging.bytecode }, { - deployer: AdvancedLoggingOtherContractAbi, - bytecode: AdvancedLoggingOtherContractAbiHex, + deployer: AdvancedLoggingOtherContract, + bytecode: AdvancedLoggingOtherContractFactory.bytecode, }, - { deployer: CallTestContractAbi, bytecode: CallTestContractAbiHex }, - { deployer: ConfigurableContractAbi, bytecode: ConfigurableContractAbiHex }, - { deployer: CoverageContractAbi, bytecode: CoverageContractAbiHex }, + { deployer: CallTestContract, bytecode: CallTestContract.bytecode }, + { deployer: ConfigurableContract, bytecode: ConfigurableContract.bytecode }, + { deployer: CoverageContract, bytecode: CoverageContract.bytecode }, ], }); @@ -288,10 +284,10 @@ describe('Advanced Logging', () => { it('when using InvocationScope', async () => { using launched = await launchTestNode({ contractsConfigs: [ - { deployer: AdvancedLoggingAbi, bytecode: AdvancedLoggingAbiHex }, + { deployer: AdvancedLogging, bytecode: AdvancedLogging.bytecode }, { - deployer: AdvancedLoggingOtherContractAbi, - bytecode: AdvancedLoggingOtherContractAbiHex, + deployer: AdvancedLoggingOtherContract, + bytecode: AdvancedLoggingOtherContractFactory.bytecode, }, ], }); @@ -301,7 +297,7 @@ describe('Advanced Logging', () => { wallets: [wallet], } = launched; - const script = new Script(ScriptCallContract.bytecode, ScriptCallContractAbi.abi, wallet); + const script = new Script(ScriptCallContractFactory.bytecode, ScriptCallContract.abi, wallet); const { waitForResult } = await script.functions .main(advancedLogContract.id.toB256(), otherAdvancedLogContract.id.toB256(), amount) @@ -316,10 +312,10 @@ describe('Advanced Logging', () => { it('when using ScriptTransactionRequest', async () => { using launched = await launchTestNode({ contractsConfigs: [ - { deployer: AdvancedLoggingAbi, bytecode: AdvancedLoggingAbiHex }, + { deployer: AdvancedLogging, bytecode: AdvancedLogging.bytecode }, { - deployer: AdvancedLoggingOtherContractAbi, - bytecode: AdvancedLoggingOtherContractAbiHex, + deployer: AdvancedLoggingOtherContract, + bytecode: AdvancedLoggingOtherContractFactory.bytecode, }, ], }); @@ -329,7 +325,7 @@ describe('Advanced Logging', () => { wallets: [wallet], } = launched; - const script = new Script(ScriptCallContract.bytecode, ScriptCallContractAbi.abi, wallet); + const script = new Script(ScriptCallContractFactory.bytecode, ScriptCallContract.abi, wallet); const request = await script.functions .main(advancedLogContract.id.toB256(), otherAdvancedLogContract.id.toB256(), amount) diff --git a/packages/fuel-gauge/src/auth-testing.test.ts b/packages/fuel-gauge/src/auth-testing.test.ts index 703c202d332..1028a716324 100644 --- a/packages/fuel-gauge/src/auth-testing.test.ts +++ b/packages/fuel-gauge/src/auth-testing.test.ts @@ -2,7 +2,6 @@ import { getRandomB256 } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; import { AuthTestingContractAbi } from '../test/typegen/contracts'; -import AuthTestingAbiHex from '../test/typegen/contracts/AuthTestingContractAbi.hex'; import { launchTestContract } from './utils'; @@ -14,7 +13,7 @@ describe('Auth Testing', () => { it('can get is_caller_external', async () => { using contractInstance = await launchTestContract({ deployer: AuthTestingContractAbi, - bytecode: AuthTestingAbiHex, + bytecode: AuthTestingAbiFactory.bytecode, }); const { waitForResult } = await contractInstance.functions.is_caller_external().call(); @@ -25,7 +24,7 @@ describe('Auth Testing', () => { it('can check_msg_sender [with correct id]', async () => { using launched = await launchTestNode({ - contractsConfigs: [{ deployer: AuthTestingContractAbi, bytecode: AuthTestingAbiHex }], + contractsConfigs: [{ deployer: AuthTestingContractAbi, bytecode: AuthTestingAbi.bytecode }], }); const { @@ -45,7 +44,7 @@ describe('Auth Testing', () => { it('can check_msg_sender [with incorrect id]', async () => { using contractInstance = await launchTestContract({ deployer: AuthTestingContractAbi, - bytecode: AuthTestingAbiHex, + bytecode: AuthTestingAbiFactory.bytecode, }); await expect( diff --git a/packages/fuel-gauge/src/bytecode-sway-lib.test.ts b/packages/fuel-gauge/src/bytecode-sway-lib.test.ts index 981e84d979b..09df1ecbcc6 100644 --- a/packages/fuel-gauge/src/bytecode-sway-lib.test.ts +++ b/packages/fuel-gauge/src/bytecode-sway-lib.test.ts @@ -4,7 +4,6 @@ import { launchTestNode } from 'fuels/test-utils'; import { defaultPredicateAbi } from '../test/fixtures/abi/predicate'; import { defaultPredicateBytecode } from '../test/fixtures/bytecode/predicate'; import { BytecodeSwayLibAbi } from '../test/typegen/contracts'; -import BytecodeSwayLibAbiHex from '../test/typegen/contracts/BytecodeSwayLibAbi.hex'; import { launchTestContract } from './utils'; @@ -16,11 +15,11 @@ describe('bytecode computations', () => { it('compute_bytecode_root', async () => { using contract = await launchTestContract({ deployer: BytecodeSwayLibAbi, - bytecode: BytecodeSwayLibAbiHex, + bytecode: BytecodeSwayLibAbiFactory.bytecode, }); const { waitForResult } = await contract.functions - .compute_bytecode_root(Array.from(arrayify(BytecodeSwayLibAbiHex))) + .compute_bytecode_root(Array.from(arrayify(BytecodeSwayLibAbi.bytecode))) .call(); const { logs } = await waitForResult(); @@ -34,7 +33,7 @@ describe('bytecode computations', () => { it('verify_contract_bytecode', async () => { using contract = await launchTestContract({ deployer: BytecodeSwayLibAbi, - bytecode: BytecodeSwayLibAbiHex, + bytecode: BytecodeSwayLibAbiFactory.bytecode, }); const { waitForResult } = await contract.functions @@ -42,7 +41,7 @@ describe('bytecode computations', () => { { bits: contract.id.toB256(), }, - Array.from(arrayify(BytecodeSwayLibAbiHex)) + Array.from(arrayify(BytecodeSwayLibAbi.bytecode)) ) .call(); @@ -56,7 +55,7 @@ describe('bytecode computations', () => { contractsConfigs: [ { deployer: BytecodeSwayLibAbi, - bytecode: BytecodeSwayLibAbiHex, + bytecode: BytecodeSwayLibAbiFactory.bytecode, }, ], }); diff --git a/packages/fuel-gauge/src/bytes.test.ts b/packages/fuel-gauge/src/bytes.test.ts index 0e35edd53e7..d6ed5cac017 100644 --- a/packages/fuel-gauge/src/bytes.test.ts +++ b/packages/fuel-gauge/src/bytes.test.ts @@ -3,7 +3,6 @@ import { launchTestNode } from 'fuels/test-utils'; import { PredicateBytesAbi, ScriptBytesAbi } from '../test/typegen'; import { BytesAbi } from '../test/typegen/contracts'; -import BytesAbiHex from '../test/typegen/contracts/BytesAbi.hex'; import { launchTestContract } from './utils'; @@ -15,7 +14,7 @@ describe('Bytes Tests', () => { it('should test bytes output', async () => { using contractInstance = await launchTestContract({ deployer: BytesAbi, - bytecode: BytesAbiHex, + bytecode: BytesAbiFactory.bytecode, }); const { waitForResult } = await contractInstance.functions.return_bytes(10).call(); @@ -27,7 +26,7 @@ describe('Bytes Tests', () => { it('should test bytes output [100 items]', async () => { using contractInstance = await launchTestContract({ deployer: BytesAbi, - bytecode: BytesAbiHex, + bytecode: BytesAbiFactory.bytecode, }); const { waitForResult } = await contractInstance.functions.return_bytes(100).call(); @@ -39,7 +38,7 @@ describe('Bytes Tests', () => { it('should test bytes input', async () => { using contractInstance = await launchTestContract({ deployer: BytesAbi, - bytecode: BytesAbiHex, + bytecode: BytesAbiFactory.bytecode, }); const INPUT = [40, 41, 42]; @@ -53,7 +52,7 @@ describe('Bytes Tests', () => { it('should test bytes input [nested]', async () => { using contractInstance = await launchTestContract({ deployer: BytesAbi, - bytecode: BytesAbiHex, + bytecode: BytesAbiFactory.bytecode, }); const bytes = [40, 41, 42]; @@ -74,7 +73,7 @@ describe('Bytes Tests', () => { contractsConfigs: [ { deployer: BytesAbi, - bytecode: BytesAbiHex, + bytecode: BytesAbiFactory.bytecode, }, ], }); diff --git a/packages/fuel-gauge/src/call-test-contract.test.ts b/packages/fuel-gauge/src/call-test-contract.test.ts index 1d071652b72..da79c6a9c70 100644 --- a/packages/fuel-gauge/src/call-test-contract.test.ts +++ b/packages/fuel-gauge/src/call-test-contract.test.ts @@ -3,7 +3,6 @@ import { BN, bn, toHex } from 'fuels'; import { ASSET_A } from 'fuels/test-utils'; import { CallTestContractAbi } from '../test/typegen/contracts'; -import bytecode from '../test/typegen/contracts/CallTestContractAbi.hex'; import { launchTestContract } from './utils'; diff --git a/packages/fuel-gauge/src/configurable-contract.test.ts b/packages/fuel-gauge/src/configurable-contract.test.ts index 546e2c5317a..35c9ff3dba8 100644 --- a/packages/fuel-gauge/src/configurable-contract.test.ts +++ b/packages/fuel-gauge/src/configurable-contract.test.ts @@ -2,7 +2,6 @@ import { BN, getRandomB256 } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; import { ConfigurableContractAbi } from '../test/typegen/contracts'; -import ConfigurableContractAbiHex from '../test/typegen/contracts/ConfigurableContractAbi.hex'; const defaultValues = { U8: 10, @@ -30,7 +29,7 @@ function setupContract(configurableConstants?: { [name: string]: unknown }) { contractsConfigs: [ { deployer: ConfigurableContractAbi, - bytecode: ConfigurableContractAbiHex, + bytecode: ConfigurableContractAbiFactory.bytecode, options: { configurableConstants }, }, ], diff --git a/packages/fuel-gauge/src/contract-factory.test.ts b/packages/fuel-gauge/src/contract-factory.test.ts index 1174a012560..f74f74042f8 100644 --- a/packages/fuel-gauge/src/contract-factory.test.ts +++ b/packages/fuel-gauge/src/contract-factory.test.ts @@ -5,7 +5,6 @@ import { BN, bn, toHex, Interface, ContractFactory } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; import { StorageTestContractAbi } from '../test/typegen/contracts'; -import StorageTestContractAbiHex from '../test/typegen/contracts/StorageTestContractAbi.hex'; import { launchTestContract } from './utils'; @@ -17,7 +16,7 @@ describe('Contract Factory', () => { it('Creates a factory from inputs that can return call results', async () => { using contract = await launchTestContract({ deployer: StorageTestContractAbi, - bytecode: StorageTestContractAbiHex, + bytecode: StorageTestContractAbiFactory.bytecode, }); expect(contract.interface).toBeInstanceOf(Interface); @@ -38,7 +37,7 @@ describe('Contract Factory', () => { it('Creates a factory from inputs that can return transaction results', async () => { using contract = await launchTestContract({ deployer: StorageTestContractAbi, - bytecode: StorageTestContractAbiHex, + bytecode: StorageTestContractAbiFactory.bytecode, }); expect(contract.interface).toBeInstanceOf(Interface); @@ -86,7 +85,7 @@ describe('Contract Factory', () => { it('Creates a factory from inputs that can prepare call data', async () => { using contract = await launchTestContract({ deployer: StorageTestContractAbi, - bytecode: StorageTestContractAbiHex, + bytecode: StorageTestContractAbiFactory.bytecode, }); const prepared = contract.functions.increment_counter(1).getCallConfig(); @@ -109,7 +108,7 @@ describe('Contract Factory', () => { const setFee = bn(120_000); const factory = new ContractFactory( - StorageTestContractAbiHex, + StorageTestContractAbiFactory.bytecode, StorageTestContractAbi.abi, wallet ); @@ -129,7 +128,7 @@ describe('Contract Factory', () => { it('Creates a contract with initial storage fixed var names', async () => { using contract = await launchTestContract({ deployer: StorageTestContractAbi, - bytecode: StorageTestContractAbiHex, + bytecode: StorageTestContractAbiFactory.bytecode, storageSlots: StorageTestContractAbi.storageSlots, }); @@ -166,7 +165,7 @@ describe('Contract Factory', () => { } = launched; const factory = new ContractFactory( - StorageTestContractAbiHex, + StorageTestContractAbiFactory.bytecode, StorageTestContractAbi.abi, wallet ); @@ -190,7 +189,7 @@ describe('Contract Factory', () => { } = launched; const factory = new ContractFactory( - StorageTestContractAbiHex, + StorageTestContractAbiFactory.bytecode, StorageTestContractAbi.abi, wallet ); @@ -234,7 +233,10 @@ describe('Contract Factory', () => { }); it('should throws if calls createTransactionRequest is called when provider is not set', async () => { - const factory = new ContractFactory(StorageTestContractAbiHex, StorageTestContractAbi.abi); + const factory = new ContractFactory( + StorageTestContractAbiFactory.bytecode, + StorageTestContractAbi.abi + ); await expectToThrowFuelError( () => factory.createTransactionRequest(), diff --git a/packages/fuel-gauge/src/contract.test.ts b/packages/fuel-gauge/src/contract.test.ts index 395fa5940b5..5268aaf420b 100644 --- a/packages/fuel-gauge/src/contract.test.ts +++ b/packages/fuel-gauge/src/contract.test.ts @@ -20,20 +20,19 @@ import { expectToThrowFuelError, ASSET_A, ASSET_B, launchTestNode } from 'fuels/ import type { DeployContractConfig } from 'fuels/test-utils'; import { CallTestContractAbi, StorageTestContractAbi } from '../test/typegen/contracts'; -import CallTestContractAbiHex from '../test/typegen/contracts/CallTestContractAbi.hex'; -import StorageTestContractAbiHex from '../test/typegen/contracts/StorageTestContractAbi.hex'; -import { PredicateTrueAbi } from '../test/typegen/predicates/factories/PredicateTrueAbi'; + +import { Predicate } from '../test/typegen/predicates/factories/Predicate'; import { launchTestContract } from './utils'; const contractsConfigs: DeployContractConfig[] = [ { deployer: CallTestContractAbi, - bytecode: CallTestContractAbiHex, + bytecode: CallTestContractAbiFactory.bytecode, }, { deployer: CallTestContractAbi, - bytecode: CallTestContractAbiHex, + bytecode: CallTestContractAbiFactory.bytecode, }, ]; @@ -160,7 +159,7 @@ const AltToken = '0x010101010101010101010101010101010101010101010101010101010101 function setupTestContract() { return launchTestContract({ deployer: CallTestContractAbi, - bytecode: CallTestContractAbiHex, + bytecode: CallTestContractAbiFactory.bytecode, }); } @@ -741,7 +740,7 @@ describe('Contract', () => { } = launched; const contract = new ContractFactory( - StorageTestContractAbiHex, + StorageTestContractAbiFactory.bytecode, StorageTestContractAbi.abi, wallet ); @@ -926,7 +925,7 @@ describe('Contract', () => { const amountToPredicate = 500_000; const predicate = new Predicate({ - bytecode: PredicateTrue.bytecode, + bytecode: PredicateFactory.bytecode, provider, }); @@ -994,7 +993,11 @@ describe('Contract', () => { wallets: [wallet], } = launched; - const factory = new ContractFactory(CallTestContractAbiHex, CallTestContractAbi.abi, wallet); + const factory = new ContractFactory( + CallTestContractAbiFactory.bytecode, + CallTestContractAbi.abi, + wallet + ); const { waitForResult } = await factory.deployContract(); const { contract } = await waitForResult(); @@ -1036,7 +1039,11 @@ describe('Contract', () => { wallets: [wallet], } = launched; - const factory = new ContractFactory(CallTestContractAbiHex, CallTestContractAbi.abi, wallet); + const factory = new ContractFactory( + CallTestContractAbiFactory.bytecode, + CallTestContractAbi.abi, + wallet + ); const { waitForResult } = await factory.deployContract(); @@ -1166,7 +1173,7 @@ describe('Contract', () => { } = launched; const factory = new ContractFactory( - StorageTestContractAbiHex, + StorageTestContractAbiFactory.bytecode, StorageTestContractAbi.abi, wallet ); @@ -1198,7 +1205,7 @@ describe('Contract', () => { contractsConfigs: [ { deployer: StorageTestContractAbi, - bytecode: StorageTestContractAbiHex, + bytecode: StorageTestContractAbiFactory.bytecode, }, ], }); diff --git a/packages/fuel-gauge/src/coverage-contract.test.ts b/packages/fuel-gauge/src/coverage-contract.test.ts index 61b0b0238e2..f8969f6c9c7 100644 --- a/packages/fuel-gauge/src/coverage-contract.test.ts +++ b/packages/fuel-gauge/src/coverage-contract.test.ts @@ -2,7 +2,6 @@ import type { BN, Message } from 'fuels'; import { arrayify, bn, toHex, Wallet, ScriptTransactionRequest, randomBytes, hexlify } from 'fuels'; import { CoverageContractAbi } from '../test/typegen/contracts'; -import CoverageContractAbiHex from '../test/typegen/contracts/CoverageContractAbi.hex'; import { launchTestContract } from './utils'; @@ -38,7 +37,7 @@ enum MixedNativeEnum { function setupContract() { return launchTestContract({ deployer: CoverageContractAbi, - bytecode: CoverageContractAbiHex, + bytecode: CoverageContractAbiFactory.bytecode, }); } diff --git a/packages/fuel-gauge/src/doc-examples.test.ts b/packages/fuel-gauge/src/doc-examples.test.ts index a74088ff2ac..11b18df3f84 100644 --- a/packages/fuel-gauge/src/doc-examples.test.ts +++ b/packages/fuel-gauge/src/doc-examples.test.ts @@ -18,7 +18,7 @@ import { import { AssetId, launchTestNode } from 'fuels/test-utils'; import { CallTestContractAbi } from '../test/typegen/contracts'; -import { PredicateTrueAbi } from '../test/typegen/predicates'; +import { Predicate } from '../test/typegen/predicates'; import { PredicateTripleSigAbi } from '../test/typegen/predicates/factories/PredicateTripleSigAbi'; const PUBLIC_KEY = @@ -242,12 +242,12 @@ describe('Doc Examples', () => { using launched = await launchTestNode(); const { provider } = launched; const predicate = new Predicate({ - bytecode: PredicateTrue.bytecode, + bytecode: PredicateFactory.bytecode, provider, }); expect(predicate.address).toBeTruthy(); - expect(predicate.bytes).toEqual(arrayify(PredicateTrue.bytecode)); + expect(predicate.bytes).toEqual(arrayify(Predicate.bytecode)); }); it('can create a predicate and use', async () => { diff --git a/packages/fuel-gauge/src/dry-run-multiple-txs.test.ts b/packages/fuel-gauge/src/dry-run-multiple-txs.test.ts index 14d7d560d48..d05bfd3e44b 100644 --- a/packages/fuel-gauge/src/dry-run-multiple-txs.test.ts +++ b/packages/fuel-gauge/src/dry-run-multiple-txs.test.ts @@ -13,10 +13,6 @@ import { MultiTokenContractAbi, RevertErrorAbi, } from '../test/typegen/contracts'; -import AdvancedLoggingAbiHex from '../test/typegen/contracts/AdvancedLoggingAbi.hex'; -import AdvancedLoggingOtherContractAbiHex from '../test/typegen/contracts/AdvancedLoggingOtherContractAbi.hex'; -import MultiTokenAbiHex from '../test/typegen/contracts/MultiTokenContractAbi.hex'; -import RevertErrorAbiHex from '../test/typegen/contracts/RevertErrorAbi.hex'; /** * @group node @@ -28,7 +24,7 @@ describe('dry-run-multiple-txs', () => { contractsConfigs: [ { deployer: RevertErrorAbi, - bytecode: RevertErrorAbiHex, + bytecode: RevertErrorAbiFactory.bytecode, }, ], }); @@ -126,19 +122,19 @@ describe('dry-run-multiple-txs', () => { contractsConfigs: [ { deployer: RevertErrorAbi, - bytecode: RevertErrorAbiHex, + bytecode: RevertErrorAbiFactory.bytecode, }, { deployer: MultiTokenContractAbi, - bytecode: MultiTokenAbiHex, + bytecode: MultiTokenAbiFactory.bytecode, }, { deployer: AdvancedLoggingAbi, - bytecode: AdvancedLoggingAbiHex, + bytecode: AdvancedLoggingAbiFactory.bytecode, }, { deployer: AdvancedLoggingOtherContractAbi, - bytecode: AdvancedLoggingOtherContractAbiHex, + bytecode: AdvancedLoggingOtherContractAbiFactory.bytecode, }, ], }); @@ -161,7 +157,11 @@ describe('dry-run-multiple-txs', () => { ]; // request 1 - const factory = new ContractFactory(MultiTokenAbiHex, MultiTokenContractAbi.abi, wallet); + const factory = new ContractFactory( + MultiTokenAbiFactory.bytecode, + MultiTokenContractAbi.abi, + wallet + ); const { transactionRequest: request1 } = factory.createTransactionRequest({ maxFee: 15000, }); diff --git a/packages/fuel-gauge/src/edge-cases.test.ts b/packages/fuel-gauge/src/edge-cases.test.ts index 7dcc970f2a1..2f62aff0ee4 100644 --- a/packages/fuel-gauge/src/edge-cases.test.ts +++ b/packages/fuel-gauge/src/edge-cases.test.ts @@ -2,7 +2,6 @@ import { TransactionResponse, Wallet } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; import { CollisionInFnNamesAbi } from '../test/typegen/contracts'; -import CollisionInFnNamesAbiHex from '../test/typegen/contracts/CollisionInFnNamesAbi.hex'; import { launchTestContract } from './utils'; @@ -14,7 +13,7 @@ describe('Edge Cases', () => { it('can run collision_in_fn_names', async () => { using contractInstance = await launchTestContract({ deployer: CollisionInFnNamesAbi, - bytecode: CollisionInFnNamesAbiHex, + bytecode: CollisionInFnNamesAbiFactory.bytecode, }); const { waitForResult } = await contractInstance.functions.new().call(); diff --git a/packages/fuel-gauge/src/fee.test.ts b/packages/fuel-gauge/src/fee.test.ts index 6e461ab78b2..ea6ee3e0486 100644 --- a/packages/fuel-gauge/src/fee.test.ts +++ b/packages/fuel-gauge/src/fee.test.ts @@ -3,8 +3,7 @@ import type { BN } from 'fuels'; import { launchTestNode, ASSET_A, ASSET_B, expectToBeInRange } from 'fuels/test-utils'; import { CallTestContractAbi, MultiTokenContractAbi } from '../test/typegen/contracts'; -import CallTestContractAbiHex from '../test/typegen/contracts/CallTestContractAbi.hex'; -import MultiTokenContractAbiHex from '../test/typegen/contracts/MultiTokenContractAbi.hex'; + import { PredicateU32Abi } from '../test/typegen/predicates/factories/PredicateU32Abi'; /** @@ -34,7 +33,7 @@ describe('Fee', () => { contractsConfigs: [ { deployer: MultiTokenContractAbi, - bytecode: MultiTokenContractAbiHex, + bytecode: MultiTokenContractAbiFactory.bytecode, }, ], }); @@ -165,7 +164,7 @@ describe('Fee', () => { const balanceBefore = await wallet.getBalance(); const factory = new ContractFactory( - MultiTokenContractAbiHex, + MultiTokenContractAbiFactory.bytecode, MultiTokenContractAbi.abi, wallet ); @@ -194,7 +193,7 @@ describe('Fee', () => { contractsConfigs: [ { deployer: CallTestContractAbi, - bytecode: CallTestContractAbiHex, + bytecode: CallTestContractAbiFactory.bytecode, }, ], }); @@ -227,7 +226,7 @@ describe('Fee', () => { contractsConfigs: [ { deployer: CallTestContractAbi, - bytecode: CallTestContractAbiHex, + bytecode: CallTestContractAbiFactory.bytecode, }, ], }); @@ -267,7 +266,7 @@ describe('Fee', () => { contractsConfigs: [ { deployer: MultiTokenContractAbi, - bytecode: MultiTokenContractAbiHex, + bytecode: MultiTokenContractAbiFactory.bytecode, }, ], }); diff --git a/packages/fuel-gauge/src/generic-types-contract.test.ts b/packages/fuel-gauge/src/generic-types-contract.test.ts index 0ea43e4d749..d3fe1227868 100644 --- a/packages/fuel-gauge/src/generic-types-contract.test.ts +++ b/packages/fuel-gauge/src/generic-types-contract.test.ts @@ -1,7 +1,6 @@ import { toHex } from 'fuels'; import { GenericTypesContractAbi } from '../test/typegen/contracts'; -import GenericTypesContractAbiHex from '../test/typegen/contracts/GenericTypesContractAbi.hex'; import { launchTestContract } from './utils'; /** @@ -12,7 +11,7 @@ describe('GenericTypesContract', () => { it('should call complex contract function with generic type', async () => { using contract = await launchTestContract({ deployer: GenericTypesContractAbi, - bytecode: GenericTypesContractAbiHex, + bytecode: GenericTypesContractAbiFactory.bytecode, }); const b256 = '0xd5579c46dfcc7f18207013e65b44e4cb4e2c2298f4ac457ba8f82743f31e930b'; diff --git a/packages/fuel-gauge/src/is-function-readonly.test.ts b/packages/fuel-gauge/src/is-function-readonly.test.ts index b60f4d7878e..05f540d3256 100644 --- a/packages/fuel-gauge/src/is-function-readonly.test.ts +++ b/packages/fuel-gauge/src/is-function-readonly.test.ts @@ -1,12 +1,11 @@ import { StorageTestContractAbi } from '../test/typegen/contracts'; -import StorageTestContractAbiHex from '../test/typegen/contracts/StorageTestContractAbi.hex'; import { launchTestContract } from './utils'; function setupContract() { return launchTestContract({ deployer: StorageTestContractAbi, - bytecode: StorageTestContractAbiHex, + bytecode: StorageTestContractAbiFactory.bytecode, }); } /** diff --git a/packages/fuel-gauge/src/min-gas.test.ts b/packages/fuel-gauge/src/min-gas.test.ts index 8702609ee9f..8dd4c6445ae 100644 --- a/packages/fuel-gauge/src/min-gas.test.ts +++ b/packages/fuel-gauge/src/min-gas.test.ts @@ -11,7 +11,6 @@ import { import { launchTestNode } from 'fuels/test-utils'; import { ComplexPredicateAbi, ComplexScriptAbi, CoverageContractAbi } from '../test/typegen'; -import CoverageContractAbiHex from '../test/typegen/contracts/CoverageContractAbi.hex'; /** * @group node @@ -31,7 +30,7 @@ describe('Minimum gas tests', () => { */ const contractFactory = new ContractFactory( - CoverageContractAbiHex, + CoverageContractAbiFactory.bytecode, CoverageContractAbi.abi, wallet ); @@ -77,7 +76,7 @@ describe('Minimum gas tests', () => { */ const request = new ScriptTransactionRequest({ - script: ComplexScript.bytecode, + script: ComplexScriptFactory.bytecode, scriptData: hexlify(new BigNumberCoder('u64').encode(bn(2000))), }); request.addCoinOutput(Address.fromRandom(), bn(100), provider.getBaseAssetId()); @@ -173,7 +172,7 @@ describe('Minimum gas tests', () => { * Create a script transaction */ const request = new ScriptTransactionRequest({ - script: ComplexScript.bytecode, + script: ComplexScriptFactory.bytecode, scriptData: hexlify(new BigNumberCoder('u64').encode(bn(2000))), }); diff --git a/packages/fuel-gauge/src/multi-token-contract.test.ts b/packages/fuel-gauge/src/multi-token-contract.test.ts index 19d0024fb53..b400d064379 100644 --- a/packages/fuel-gauge/src/multi-token-contract.test.ts +++ b/packages/fuel-gauge/src/multi-token-contract.test.ts @@ -3,7 +3,6 @@ import { Wallet, bn } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; import { MultiTokenContractAbi } from '../test/typegen/contracts'; -import binHexlified from '../test/typegen/contracts/MultiTokenContractAbi.hex'; // hardcoded subIds on MultiTokenContract const subIds = [ diff --git a/packages/fuel-gauge/src/options.test.ts b/packages/fuel-gauge/src/options.test.ts index 343851160cc..c280bf5e71a 100644 --- a/packages/fuel-gauge/src/options.test.ts +++ b/packages/fuel-gauge/src/options.test.ts @@ -1,7 +1,6 @@ import { launchTestNode } from 'fuels/test-utils'; import { OptionsAbi } from '../test/typegen/contracts'; -import OptionsAbiHex from '../test/typegen/contracts/OptionsAbi.hex'; import { launchTestContract } from './utils'; @@ -11,7 +10,7 @@ const U32_MAX = 4294967295; function launchOptionsContract() { return launchTestContract({ - bytecode: OptionsAbiHex, + bytecode: OptionsAbiFactory.bytecode, deployer: OptionsAbi, }); } @@ -206,7 +205,7 @@ describe('Options Tests', () => { contractsConfigs: [ { deployer: OptionsAbi, - bytecode: OptionsAbiHex, + bytecode: OptionsAbiFactory.bytecode, }, ], }); diff --git a/packages/fuel-gauge/src/payable-annotation.test.ts b/packages/fuel-gauge/src/payable-annotation.test.ts index 3f447e09f53..220fdea4378 100644 --- a/packages/fuel-gauge/src/payable-annotation.test.ts +++ b/packages/fuel-gauge/src/payable-annotation.test.ts @@ -1,13 +1,12 @@ import { bn } from 'fuels'; import { PayableAnnotationAbi } from '../test/typegen/contracts'; -import PayableAnnotationAbiHex from '../test/typegen/contracts/PayableAnnotationAbi.hex'; import { launchTestContract } from './utils'; function launchPayableContract() { return launchTestContract({ - bytecode: PayableAnnotationAbiHex, + bytecode: PayableAnnotationAbiFactory.bytecode, deployer: PayableAnnotationAbi, }); } diff --git a/packages/fuel-gauge/src/policies.test.ts b/packages/fuel-gauge/src/policies.test.ts index 8a7c20fe750..ce648738e1a 100644 --- a/packages/fuel-gauge/src/policies.test.ts +++ b/packages/fuel-gauge/src/policies.test.ts @@ -11,7 +11,6 @@ import { import { launchTestNode } from 'fuels/test-utils'; import { PayableAnnotationAbi, ScriptMainArgsAbi } from '../test/typegen'; -import PayableAnnotationAbiHex from '../test/typegen/contracts/PayableAnnotationAbi.hex'; /** * @group node @@ -156,7 +155,11 @@ describe('Policies', () => { wallets: [wallet], } = launched; - const factory = new ContractFactory(ScriptMainArgs.bytecode, ScriptMainArgsAbi.abi, wallet); + const factory = new ContractFactory( + ScriptMainArgsFactory.bytecode, + ScriptMainArgsAbi.abi, + wallet + ); const txParams: CustomTxParams = { tip: 11, @@ -187,7 +190,7 @@ describe('Policies', () => { contractsConfigs: [ { deployer: PayableAnnotationAbi, - bytecode: PayableAnnotationAbiHex, + bytecode: PayableAnnotationAbiFactory.bytecode, }, ], }); @@ -225,7 +228,7 @@ describe('Policies', () => { } = launched; const scriptInstance = new Script( - ScriptMainArgs.bytecode, + ScriptMainArgsFactory.bytecode, ScriptMainArgsAbi.abi, wallet ); @@ -288,7 +291,7 @@ describe('Policies', () => { contractsConfigs: [ { deployer: PayableAnnotationAbi, - bytecode: PayableAnnotationAbiHex, + bytecode: PayableAnnotationAbiFactory.bytecode, }, ], }); @@ -381,7 +384,7 @@ describe('Policies', () => { contractsConfigs: [ { deployer: PayableAnnotationAbi, - bytecode: PayableAnnotationAbiHex, + bytecode: PayableAnnotationAbiFactory.bytecode, }, ], }); @@ -441,7 +444,11 @@ describe('Policies', () => { const maxFee = 1; - const factory = new ContractFactory(ScriptMainArgs.bytecode, ScriptMainArgsAbi.abi, wallet); + const factory = new ContractFactory( + ScriptMainArgsFactory.bytecode, + ScriptMainArgsAbi.abi, + wallet + ); const txParams: CustomTxParams = { witnessLimit: 800, @@ -460,7 +467,7 @@ describe('Policies', () => { contractsConfigs: [ { deployer: PayableAnnotationAbi, - bytecode: PayableAnnotationAbiHex, + bytecode: PayableAnnotationAbiFactory.bytecode, }, ], }); diff --git a/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts b/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts index 7c9e2a53d2f..fbe18ff7d49 100644 --- a/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts @@ -1,7 +1,7 @@ import { getRandomB256, WalletUnlocked, Predicate } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { PredicateTrueAbi, PredicateWithConfigurableAbi } from '../../test/typegen'; +import { Predicate, PredicateWithConfigurableAbi } from '../../test/typegen'; import { fundPredicate, assertBalance } from './utils/predicate'; @@ -27,7 +27,7 @@ describe('Predicate', () => { } = launched; const predicate = new Predicate({ - bytecode: PredicateWithConfigurable.bytecode, + bytecode: PredicateWithConfigurableFactory.bytecode, abi: PredicateWithConfigurableAbi.abi, provider: wallet.provider, inputData: [defaultValues.FEE, defaultValues.ADDRESS], // set predicate input data to be the same as default configurable value @@ -70,7 +70,7 @@ describe('Predicate', () => { expect(configurableConstants.FEE).not.toEqual(defaultValues.FEE); const predicate = new Predicate({ - bytecode: PredicateWithConfigurable.bytecode, + bytecode: PredicateWithConfigurableFactory.bytecode, abi: PredicateWithConfigurableAbi.abi, provider, inputData: [configurableConstants.FEE, defaultValues.ADDRESS], @@ -115,7 +115,7 @@ describe('Predicate', () => { expect(configurableConstants.ADDRESS).not.toEqual(defaultValues.ADDRESS); const predicate = new Predicate({ - bytecode: PredicateWithConfigurable.bytecode, + bytecode: PredicateWithConfigurableFactory.bytecode, abi: PredicateWithConfigurableAbi.abi, provider, inputData: [defaultValues.FEE, configurableConstants.ADDRESS], @@ -164,7 +164,7 @@ describe('Predicate', () => { expect(configurableConstants.FEE).not.toEqual(defaultValues.FEE); expect(configurableConstants.ADDRESS).not.toEqual(defaultValues.ADDRESS); const predicate = new Predicate({ - bytecode: PredicateWithConfigurable.bytecode, + bytecode: PredicateWithConfigurableFactory.bytecode, abi: PredicateWithConfigurableAbi.abi, provider, inputData: [configurableConstants.FEE, configurableConstants.ADDRESS], @@ -204,7 +204,7 @@ describe('Predicate', () => { } = launched; const predicate = new Predicate({ - bytecode: PredicateWithConfigurable.bytecode, + bytecode: PredicateWithConfigurableFactory.bytecode, abi: PredicateWithConfigurableAbi.abi, provider, }); @@ -228,8 +228,8 @@ describe('Predicate', () => { expect(() => { // eslint-disable-next-line @typescript-eslint/no-unused-vars const predicate = new Predicate({ - bytecode: PredicateTrue.bytecode, - abi: PredicateTrueAbi.abi, + bytecode: PredicateFactory.bytecode, + abi: Predicate.abi, provider, inputData: ['NADA'], configurableConstants: { @@ -249,7 +249,7 @@ describe('Predicate', () => { expect(() => { // eslint-disable-next-line @typescript-eslint/no-unused-vars const predicate = new Predicate({ - bytecode: PredicateWithConfigurable.bytecode, + bytecode: PredicateWithConfigurableFactory.bytecode, abi: PredicateWithConfigurableAbi.abi, provider, inputData: ['NADA'], @@ -269,7 +269,7 @@ describe('Predicate', () => { expect(() => { // eslint-disable-next-line @typescript-eslint/no-unused-vars const predicate = new Predicate({ - bytecode: PredicateWithConfigurable.bytecode, + bytecode: PredicateWithConfigurableFactory.bytecode, provider, inputData: ['NADA'], configurableConstants: { diff --git a/packages/fuel-gauge/src/predicate/predicate-estimations.test.ts b/packages/fuel-gauge/src/predicate/predicate-estimations.test.ts index a7bfc10da2d..68bfcef5f5f 100644 --- a/packages/fuel-gauge/src/predicate/predicate-estimations.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-estimations.test.ts @@ -16,9 +16,9 @@ import { import { launchTestNode } from 'fuels/test-utils'; import { - PredicateMainArgsStructAbi, - PredicateTrueAbi, - PredicateValidateTransferAbi, + PredicateMainArgsStruct, + PredicateValidateTransfer, + PredicateTrue, } from '../../test/typegen'; import type { Validation } from '../types/predicate'; @@ -40,14 +40,11 @@ describe('Predicate', () => { provider, } = launched; - const predicateTrue = new Predicate({ - bytecode: PredicateTrue.bytecode, - provider, - }); + const predicateTrue = new PredicateTrue(provider); const predicateStruct = new Predicate<[Validation]>({ bytecode: PredicateMainArgsStruct.bytecode, - abi: PredicateMainArgsStructAbi.abi, + abi: PredicateMainArgsStruct.abi, provider, }); @@ -140,7 +137,7 @@ describe('Predicate', () => { const tx = new ScriptTransactionRequest(); const predicateTrue = new Predicate({ - bytecode: PredicateTrue.bytecode, + bytecode: PredicateFactory.bytecode, provider, }); @@ -166,13 +163,13 @@ describe('Predicate', () => { } = launched; const predicateTrue = new Predicate({ - bytecode: PredicateTrue.bytecode, + bytecode: PredicateFactory.bytecode, provider, }); const predicateStruct = new Predicate<[Validation]>({ - bytecode: PredicateMainArgsStruct.bytecode, - abi: PredicateMainArgsStructAbi.abi, + bytecode: PredicateMainArgsStructFactory.bytecode, + abi: PredicateMainArgsStruct.abi, provider, }); @@ -213,8 +210,8 @@ describe('Predicate', () => { const amountToPredicate = 200_000; const predicateValidateTransfer = new Predicate<[BN]>({ - bytecode: PredicateValidateTransfer.bytecode, - abi: PredicateValidateTransferAbi.abi, + bytecode: PredicateValidateTransferFactory.bytecode, + abi: PredicateValidateTransfer.abi, provider, inputData: [bn(amountToPredicate)], }); @@ -256,8 +253,8 @@ describe('Predicate', () => { } = launched; const predicateStruct = new Predicate<[Validation]>({ - bytecode: PredicateMainArgsStruct.bytecode, - abi: PredicateMainArgsStructAbi.abi, + bytecode: PredicateMainArgsStructFactory.bytecode, + abi: PredicateMainArgsStruct.abi, provider, }); @@ -290,8 +287,8 @@ describe('Predicate', () => { } = launched; const predicateStruct = new Predicate<[Validation]>({ - bytecode: PredicateMainArgsStruct.bytecode, - abi: PredicateMainArgsStructAbi.abi, + bytecode: PredicateMainArgsStructFactory.bytecode, + abi: PredicateMainArgsStruct.abi, provider, }); diff --git a/packages/fuel-gauge/src/predicate/predicate-evaluations.test.ts b/packages/fuel-gauge/src/predicate/predicate-evaluations.test.ts index a835da9cf0e..b8353c88515 100644 --- a/packages/fuel-gauge/src/predicate/predicate-evaluations.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-evaluations.test.ts @@ -1,7 +1,7 @@ import { Address, Wallet } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { PredicateTrueAbi, PredicateFalseAbi } from '../../test/typegen/predicates'; +import { Predicate, PredicateFalseAbi } from '../../test/typegen/predicates'; import { assertBalances, fundPredicate } from './utils/predicate'; @@ -22,7 +22,7 @@ describe('Predicate', () => { const receiver = Wallet.generate({ provider }); const initialReceiverBalance = await receiver.getBalance(); - const predicate = PredicateTrueAbi.createInstance(provider); + const predicate = Predicate.createInstance(provider); await fundPredicate(wallet, predicate, 200_000); diff --git a/packages/fuel-gauge/src/predicate/predicate-general.test.ts b/packages/fuel-gauge/src/predicate/predicate-general.test.ts index 5cb166b93fd..242bdd5255b 100644 --- a/packages/fuel-gauge/src/predicate/predicate-general.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-general.test.ts @@ -29,7 +29,7 @@ describe('Predicate', () => { const value1 = bn(100); const predicate = new Predicate<[BN, BN]>({ - bytecode: PredicateSum.bytecode, + bytecode: PredicateSumFactory.bytecode, abi: PredicateSumAbi.abi, provider, inputData: [value1, value2], diff --git a/packages/fuel-gauge/src/predicate/predicate-input-data.test.ts b/packages/fuel-gauge/src/predicate/predicate-input-data.test.ts index 4a8ebd1f3bb..5aa84e4fbf7 100644 --- a/packages/fuel-gauge/src/predicate/predicate-input-data.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-input-data.test.ts @@ -23,7 +23,7 @@ describe('Predicate', () => { const amountToReceiver = 50; const predicate = new Predicate({ - bytecode: PredicateInputData.bytecode, + bytecode: PredicateInputDataFactory.bytecode, abi: PredicateInputDataAbi.abi, provider, inputData: [true], diff --git a/packages/fuel-gauge/src/predicate/predicate-invalidations.test.ts b/packages/fuel-gauge/src/predicate/predicate-invalidations.test.ts index 3bcc7e32e1c..b3374dcae95 100644 --- a/packages/fuel-gauge/src/predicate/predicate-invalidations.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-invalidations.test.ts @@ -20,7 +20,7 @@ describe('Predicate', () => { } = launched; const predicate = new Predicate<[Validation]>({ - bytecode: PredicateMainArgsStruct.bytecode, + bytecode: PredicateMainArgsStructFactory.bytecode, abi: PredicateMainArgsStructAbi.abi, provider, }); @@ -49,7 +49,7 @@ describe('Predicate', () => { } = launched; const predicate = new Predicate<[Validation]>({ - bytecode: PredicateMainArgsStruct.bytecode, + bytecode: PredicateMainArgsStructFactory.bytecode, abi: PredicateMainArgsStructAbi.abi, provider, }); diff --git a/packages/fuel-gauge/src/predicate/predicate-populate-witness.test.ts b/packages/fuel-gauge/src/predicate/predicate-populate-witness.test.ts index bb103c82f2b..bae6463224b 100644 --- a/packages/fuel-gauge/src/predicate/predicate-populate-witness.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-populate-witness.test.ts @@ -40,7 +40,7 @@ describe('Predicate', () => { const quantity: CoinQuantityLike[] = [[500, provider.getBaseAssetId()]]; const predicateAssertNumber = new Predicate<[number]>({ - bytecode: PredicateAssertNumber.bytecode, + bytecode: PredicateAssertNumberFactory.bytecode, abi: PredicateAssertNumberAbi.abi, provider, inputData: [11], @@ -95,7 +95,7 @@ describe('Predicate', () => { transactionRequest.addCoinOutput(receiver.address, 100, provider.getBaseAssetId()); const predicateAssertNumber = new Predicate<[number]>({ - bytecode: PredicateAssertNumber.bytecode, + bytecode: PredicateAssertNumberFactory.bytecode, abi: PredicateAssertNumberAbi.abi, provider, inputData: [11], @@ -150,7 +150,7 @@ describe('Predicate', () => { const quantity: CoinQuantityLike[] = [[500, provider.getBaseAssetId()]]; const predicateAssertNumber = new Predicate<[number]>({ - bytecode: PredicateAssertNumber.bytecode, + bytecode: PredicateAssertNumberFactory.bytecode, abi: PredicateAssertNumberAbi.abi, provider, inputData: [11], @@ -228,7 +228,7 @@ describe('Predicate', () => { const resources3 = await wallet3.getResourcesToSpend(quantity); const predicateAssertNumber = new Predicate<[number]>({ - bytecode: PredicateAssertNumber.bytecode, + bytecode: PredicateAssertNumberFactory.bytecode, abi: PredicateAssertNumberAbi.abi, provider, inputData: [11], @@ -237,7 +237,7 @@ describe('Predicate', () => { await fundPredicate(fundingWallet, predicateAssertNumber, 500_000, UTXOS_AMOUNT); const predicateAssertValue = new Predicate<[boolean]>({ - bytecode: PredicateAssertValue.bytecode, + bytecode: PredicateAssertValueFactory.bytecode, abi: PredicateAssertValueAbi.abi, provider, inputData: [true], @@ -319,7 +319,7 @@ describe('Predicate', () => { let transactionRequest = new ScriptTransactionRequest({ gasLimit: 2000, maxFee: bn(0) }); const predicateAssertNumber = new Predicate<[number]>({ - bytecode: PredicateAssertNumber.bytecode, + bytecode: PredicateAssertNumberFactory.bytecode, abi: PredicateAssertNumberAbi.abi, provider, inputData: [11], @@ -328,7 +328,7 @@ describe('Predicate', () => { await fundPredicate(fundingWallet, predicateAssertNumber, 500_000, UTXOS_AMOUNT); const predicateAssertValue = new Predicate<[boolean]>({ - bytecode: PredicateAssertValue.bytecode, + bytecode: PredicateAssertValueFactory.bytecode, abi: PredicateAssertValueAbi.abi, provider, inputData: [true], @@ -405,7 +405,7 @@ describe('Predicate', () => { const resources3 = await wallet3.getResourcesToSpend(quantity); const predicateAssertNumber = new Predicate<[number]>({ - bytecode: PredicateAssertNumber.bytecode, + bytecode: PredicateAssertNumberFactory.bytecode, abi: PredicateAssertNumberAbi.abi, provider, inputData: [11], @@ -423,7 +423,7 @@ describe('Predicate', () => { ); const predicateAssertValue = new Predicate<[boolean]>({ - bytecode: PredicateAssertValue.bytecode, + bytecode: PredicateAssertValueFactory.bytecode, abi: PredicateAssertValueAbi.abi, provider, inputData: [true], diff --git a/packages/fuel-gauge/src/predicate/predicate-with-contract.test.ts b/packages/fuel-gauge/src/predicate/predicate-with-contract.test.ts index ac942b145ff..9c5743b2456 100644 --- a/packages/fuel-gauge/src/predicate/predicate-with-contract.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-with-contract.test.ts @@ -2,9 +2,8 @@ import { Contract, Wallet } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; import { CallTestContractAbi, TokenContractAbi } from '../../test/typegen/contracts'; -import contractBytes from '../../test/typegen/contracts/CallTestContractAbi.hex'; -import tokenPoolBytes from '../../test/typegen/contracts/TokenContractAbi.hex'; -import { PredicateMainArgsStructAbi, PredicateTrueAbi } from '../../test/typegen/predicates'; + +import { PredicateMainArgsStructAbi, Predicate } from '../../test/typegen/predicates'; import { fundPredicate } from './utils/predicate'; @@ -26,7 +25,7 @@ describe('Predicate', () => { } = launched; const amountToPredicate = 300_000; - const predicate = PredicateTrueAbi.createInstance(provider); + const predicate = Predicate.createInstance(provider); // Create a instance of the contract with the predicate as the caller Account const contractPredicate = new Contract(contract.id, contract.interface, predicate); diff --git a/packages/fuel-gauge/src/predicate/predicate-with-script.test.ts b/packages/fuel-gauge/src/predicate/predicate-with-script.test.ts index 72da682ef97..6844ecb86f7 100644 --- a/packages/fuel-gauge/src/predicate/predicate-with-script.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-with-script.test.ts @@ -24,7 +24,7 @@ describe('Predicate', () => { const initialReceiverBalance = toNumber(await receiver.getBalance()); const scriptInstance = new Script( - ScriptMainArgs.bytecode, + ScriptMainArgsFactory.bytecode, ScriptMainArgsAbi.abi, wallet ); @@ -41,7 +41,7 @@ describe('Predicate', () => { const amountToPredicate = 900_000; const amountToReceiver = 100_000; const predicate = new Predicate<[Validation]>({ - bytecode: PredicateMainArgsStruct.bytecode, + bytecode: PredicateMainArgsStructFactory.bytecode, provider, abi: PredicateMainArgsStructAbi.abi, inputData: [ diff --git a/packages/fuel-gauge/src/raw-slice.test.ts b/packages/fuel-gauge/src/raw-slice.test.ts index 06e3aa9f264..a9615f9fb70 100644 --- a/packages/fuel-gauge/src/raw-slice.test.ts +++ b/packages/fuel-gauge/src/raw-slice.test.ts @@ -4,7 +4,7 @@ import { launchTestNode } from 'fuels/test-utils'; import { ScriptRawSliceAbi } from '../test/typegen'; import { RawSliceAbi } from '../test/typegen/contracts'; -import RawSliceAbiHex from '../test/typegen/contracts/RawSliceAbi.hex'; + import { PredicateRawSliceAbi } from '../test/typegen/predicates'; import { launchTestContract } from './utils'; @@ -22,7 +22,7 @@ type Wrapper = { function setupRawSliceContract() { return launchTestContract({ deployer: RawSliceAbi, - bytecode: RawSliceAbiHex, + bytecode: RawSliceAbiFactory.bytecode, }); } /** @@ -93,7 +93,7 @@ describe('Raw Slice Tests', () => { }; const predicate = new Predicate({ - bytecode: PredicateRawSlice.bytecode, + bytecode: PredicateRawSliceFactory.bytecode, abi: PredicateRawSliceAbi.abi, provider: wallet.provider, inputData: [INPUT], diff --git a/packages/fuel-gauge/src/reentrant-contract-calls.test.ts b/packages/fuel-gauge/src/reentrant-contract-calls.test.ts index 9f88dfe3288..be26e5ce3c9 100644 --- a/packages/fuel-gauge/src/reentrant-contract-calls.test.ts +++ b/packages/fuel-gauge/src/reentrant-contract-calls.test.ts @@ -6,9 +6,6 @@ import { ReentrantFooAbi, StorageTestContractAbi, } from '../test/typegen/contracts'; -import ReentrantBarAbiHex from '../test/typegen/contracts/ReentrantBarAbi.hex'; -import ReentrantFooAbiHex from '../test/typegen/contracts/ReentrantFooAbi.hex'; -import StorageTestContractAbiHex from '../test/typegen/contracts/StorageTestContractAbi.hex'; /** * @group node @@ -20,11 +17,11 @@ describe('Reentrant Contract Calls', () => { contractsConfigs: [ { deployer: ReentrantFooAbi, - bytecode: ReentrantFooAbiHex, + bytecode: ReentrantFooAbiFactory.bytecode, }, { deployer: ReentrantBarAbi, - bytecode: ReentrantBarAbiHex, + bytecode: ReentrantBarAbiFactory.bytecode, }, ], }); @@ -73,11 +70,11 @@ describe('Reentrant Contract Calls', () => { contractsConfigs: [ { deployer: ReentrantFooAbi, - bytecode: ReentrantFooAbiHex, + bytecode: ReentrantFooAbiFactory.bytecode, }, { deployer: ReentrantBarAbi, - bytecode: ReentrantBarAbiHex, + bytecode: ReentrantBarAbiFactory.bytecode, }, ], }); @@ -88,7 +85,7 @@ describe('Reentrant Contract Calls', () => { } = launched; const deploy = await new ContractFactory( - StorageTestContractAbiHex, + StorageTestContractAbiFactory.bytecode, StorageTestContractAbi.abi, wallet ).deployContract({ storageSlots: StorageTestContractAbi.storageSlots }); diff --git a/packages/fuel-gauge/src/revert-error.test.ts b/packages/fuel-gauge/src/revert-error.test.ts index eeaf0a731a7..0d03c5909c5 100644 --- a/packages/fuel-gauge/src/revert-error.test.ts +++ b/packages/fuel-gauge/src/revert-error.test.ts @@ -5,15 +5,13 @@ import { bn, getRandomB256, ContractFactory } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; import { RevertErrorAbi, TokenContractAbi } from '../test/typegen/contracts'; -import RevertErrorAbiHex from '../test/typegen/contracts/RevertErrorAbi.hex'; -import TokenContractAbiHex from '../test/typegen/contracts/TokenContractAbi.hex'; import { launchTestContract } from './utils'; function launchContract() { return launchTestContract({ deployer: RevertErrorAbi, - bytecode: RevertErrorAbiHex, + bytecode: RevertErrorAbiFactory.bytecode, }); } @@ -199,7 +197,11 @@ describe('Revert Error Testing', () => { provider, } = launched; - const factory = new ContractFactory(TokenContractAbiHex, TokenContractAbi.abi, wallet); + const factory = new ContractFactory( + TokenContractAbiFactory.bytecode, + TokenContractAbi.abi, + wallet + ); const { waitForResult } = await factory.deployContract(); const { contract: tokenContract } = await waitForResult(); diff --git a/packages/fuel-gauge/src/script-main-args.test.ts b/packages/fuel-gauge/src/script-main-args.test.ts index beef57cf9b3..2ae25f2eb8e 100644 --- a/packages/fuel-gauge/src/script-main-args.test.ts +++ b/packages/fuel-gauge/src/script-main-args.test.ts @@ -26,7 +26,7 @@ describe('Script Coverage', () => { // #region script-call-factory const foo = 33; const scriptInstance = new Script( - ScriptMainArgs.bytecode, + ScriptMainArgsFactory.bytecode, ScriptMainArgsAbi.abi, wallet ); @@ -86,7 +86,7 @@ describe('Script Coverage', () => { } = launched; const scriptInstance = new Script( - ScriptMainArgs.bytecode, + ScriptMainArgsFactory.bytecode, ScriptMainArgsAbi.abi, wallet ); diff --git a/packages/fuel-gauge/src/script-with-configurable.test.ts b/packages/fuel-gauge/src/script-with-configurable.test.ts index 7b3c853feeb..d43098023e3 100644 --- a/packages/fuel-gauge/src/script-with-configurable.test.ts +++ b/packages/fuel-gauge/src/script-with-configurable.test.ts @@ -20,7 +20,7 @@ describe('Script With Configurable', () => { } = launched; const script = new Script( - ScriptWithConfigurable.bytecode, + ScriptWithConfigurableFactory.bytecode, ScriptWithConfigurableAbi.abi, wallet ); @@ -45,7 +45,7 @@ describe('Script With Configurable', () => { expect(configurableConstants.FEE).not.toEqual(defaultValues.FEE); const script = new Script( - ScriptWithConfigurable.bytecode, + ScriptWithConfigurableFactory.bytecode, ScriptWithConfigurableAbi.abi, wallet ); @@ -68,7 +68,7 @@ describe('Script With Configurable', () => { const configurableConstants = { FEE: 35 }; const script = new Script( - ScriptWithConfigurable.bytecode, + ScriptWithConfigurableFactory.bytecode, ScriptWithConfigurableAbi.abi, wallet ); @@ -95,7 +95,7 @@ describe('Script With Configurable', () => { expect(configurableConstants.FEE).not.toEqual(input.FEE); const script = new Script( - ScriptWithConfigurable.bytecode, + ScriptWithConfigurableFactory.bytecode, ScriptWithConfigurableAbi.abi, wallet ); diff --git a/packages/fuel-gauge/src/std-lib-string.test.ts b/packages/fuel-gauge/src/std-lib-string.test.ts index ce05d76c884..a12421e4a81 100644 --- a/packages/fuel-gauge/src/std-lib-string.test.ts +++ b/packages/fuel-gauge/src/std-lib-string.test.ts @@ -1,8 +1,7 @@ import { bn, Predicate, Wallet, Address } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { PredicateStdLibStringAbi, ScriptStdLibStringAbi, StdLibStringAbi } from '../test/typegen'; -import StdLibStringAbiHex from '../test/typegen/contracts/StdLibStringAbi.hex'; +import { PredicateStdLibString, ScriptStdLibString, StdLibString } from '../test/typegen'; import { launchTestContract } from './utils'; @@ -13,8 +12,8 @@ import { launchTestContract } from './utils'; function setupContract() { return launchTestContract({ - deployer: StdLibStringAbi, - bytecode: StdLibStringAbiHex, + deployer: StdLibString, + bytecode: StdLibStringFactory.bytecode, }); } @@ -53,8 +52,8 @@ describe('std-lib-string Tests', () => { const amountToReceiver = 50; type MainArgs = [number, number, string]; const predicate = new Predicate({ - bytecode: PredicateStdLibString.bytecode, - abi: PredicateStdLibStringAbi.abi, + bytecode: PredicateStdLibStringFactory.bytecode, + abi: PredicateStdLibString.abi, provider, inputData: [1, 2, 'Hello World'], }); @@ -98,7 +97,7 @@ describe('std-lib-string Tests', () => { } = launched; const INPUT = 'Hello World'; - const scriptInstance = ScriptStdLibStringAbi.createInstance(wallet); + const scriptInstance = ScriptStdLibString.createInstance(wallet); const { waitForResult } = await scriptInstance.functions.main(INPUT).call(); const { value } = await waitForResult(); diff --git a/packages/fuel-gauge/src/storage-test-contract.test.ts b/packages/fuel-gauge/src/storage-test-contract.test.ts index 089de6a1f25..47100a47546 100644 --- a/packages/fuel-gauge/src/storage-test-contract.test.ts +++ b/packages/fuel-gauge/src/storage-test-contract.test.ts @@ -1,8 +1,7 @@ import { toHex, ContractFactory } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { StorageTestContractAbi } from '../test/typegen'; -import StorageTestContractAbiHex from '../test/typegen/contracts/StorageTestContractAbi.hex'; +import { StorageTestContract, StorageTestContractFactory } from '../test/typegen'; /** * @group node @@ -16,14 +15,14 @@ describe('StorageTestContract', () => { wallets: [wallet], } = launched; - const { storageSlots } = StorageTestContractAbi; + const { storageSlots } = StorageTestContract; // #region contract-deployment-storage-slots // #context import storageSlots from '../your-sway-project/out/debug/your-sway-project-storage_slots.json'; const factory = new ContractFactory( - StorageTestContractAbiHex, - StorageTestContractAbi.abi, + StorageTestContractFactory.bytecode, + StorageTestContract.abi, wallet ); const deploy = await factory.deployContract({ @@ -58,8 +57,8 @@ describe('StorageTestContract', () => { } = launched; const factory = new ContractFactory( - StorageTestContractAbiHex, - StorageTestContractAbi.abi, + StorageTestContractFactory.bytecode, + StorageTestContract.abi, wallet ); // #region contract-deployment-storage-slots-inline diff --git a/packages/fuel-gauge/src/str-slice.test.ts b/packages/fuel-gauge/src/str-slice.test.ts index 2416eba163d..55146e2c4a4 100644 --- a/packages/fuel-gauge/src/str-slice.test.ts +++ b/packages/fuel-gauge/src/str-slice.test.ts @@ -1,9 +1,8 @@ import { bn } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import type { PredicateStrSliceAbiInputs } from '../test/typegen'; -import { PredicateStrSliceAbi, ScriptStrSliceAbi, StrSliceAbi } from '../test/typegen'; -import contractBytes from '../test/typegen/contracts/StrSliceAbi.hex'; +import type { PredicateStrSliceInputs } from '../test/typegen'; +import { PredicateStrSlice, ScriptStrSlice, StrSlice, StrSliceFactory } from '../test/typegen'; /** * @group node @@ -14,8 +13,8 @@ describe('str slice', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: StrSliceAbi, - bytecode: contractBytes, + deployer: StrSlice, + bytecode: StrSliceFactory.bytecode, }, ], }); @@ -39,8 +38,8 @@ describe('str slice', () => { provider, } = launched; - const predicateData: PredicateStrSliceAbiInputs = ['predicate-input']; - const predicate = PredicateStrSliceAbi.createInstance(provider, predicateData); + const predicateData: PredicateStrSliceInputs = ['predicate-input']; + const predicate = new PredicateStrSlice(provider, predicateData); const baseAssetId = provider.getBaseAssetId(); const amountToPredicate = 250_000; @@ -67,7 +66,7 @@ describe('str slice', () => { wallets: [sender], } = launched; - const script = await ScriptStrSliceAbi.createInstance(sender); + const script = await ScriptStrSlice.createInstance(sender); const input = 'script-input'; const output = 'script-return'; const { waitForResult } = await script.functions.main(input).call(); diff --git a/packages/fuel-gauge/src/token-test-contract.test.ts b/packages/fuel-gauge/src/token-test-contract.test.ts index 373f06da191..f728ea6a711 100644 --- a/packages/fuel-gauge/src/token-test-contract.test.ts +++ b/packages/fuel-gauge/src/token-test-contract.test.ts @@ -3,8 +3,8 @@ import type { AssetId, BN } from 'fuels'; import { toHex, Wallet, bn } from 'fuels'; import { expectToThrowFuelError, launchTestNode } from 'fuels/test-utils'; -import { TokenContractAbi } from '../test/typegen'; -import TokenContractAbiHex from '../test/typegen/contracts/TokenContractAbi.hex'; +import { TokenContract, TokenContractFactory } from '../test/typegen'; + /** * @group node * @group browser @@ -16,8 +16,8 @@ describe('TokenTestContract', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: TokenContractAbi, - bytecode: TokenContractAbiHex, + deployer: TokenContract, + bytecode: TokenContractFactory.bytecode, }, ], }); @@ -66,8 +66,8 @@ describe('TokenTestContract', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: TokenContractAbi, - bytecode: TokenContractAbiHex, + deployer: TokenContract, + bytecode: TokenContractFactory.bytecode, }, ], walletsConfig: { @@ -141,8 +141,8 @@ describe('TokenTestContract', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: TokenContractAbi, - bytecode: TokenContractAbiHex, + deployer: TokenContract, + bytecode: TokenContractFactory.bytecode, }, ], }); @@ -181,8 +181,8 @@ describe('TokenTestContract', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: TokenContractAbi, - bytecode: TokenContractAbiHex, + deployer: TokenContract, + bytecode: TokenContractFactory.bytecode, }, ], }); diff --git a/packages/fuel-gauge/src/transaction-summary.test.ts b/packages/fuel-gauge/src/transaction-summary.test.ts index d15b5c9260d..4a6b7d86b40 100644 --- a/packages/fuel-gauge/src/transaction-summary.test.ts +++ b/packages/fuel-gauge/src/transaction-summary.test.ts @@ -18,9 +18,12 @@ import { } from 'fuels'; import { ASSET_A, ASSET_B, launchTestNode } from 'fuels/test-utils'; -import { MultiTokenContractAbi, TokenContractAbi } from '../test/typegen'; -import MultiTokenContractAbiHex from '../test/typegen/contracts/MultiTokenContractAbi.hex'; -import TokenContractAbiHex from '../test/typegen/contracts/TokenContractAbi.hex'; +import { + MultiTokenContract, + TokenContract, + MultiTokenContractFactory, + TokenContractFactory, +} from '../test/typegen'; /** * @group node @@ -244,8 +247,8 @@ describe('TransactionSummary', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: MultiTokenContractAbi, - bytecode: MultiTokenContractAbiHex, + deployer: MultiTokenContract, + bytecode: MultiTokenContractFactory.bytecode, }, ], }); @@ -276,8 +279,8 @@ describe('TransactionSummary', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: TokenContractAbi, - bytecode: TokenContractAbiHex, + deployer: TokenContract, + bytecode: TokenContractFactory.bytecode, }, ], }); @@ -318,8 +321,8 @@ describe('TransactionSummary', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: TokenContractAbi, - bytecode: TokenContractAbiHex, + deployer: TokenContract, + bytecode: TokenContractFactory.bytecode, }, ], }); @@ -397,12 +400,12 @@ describe('TransactionSummary', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: TokenContractAbi, - bytecode: TokenContractAbiHex, + deployer: TokenContract, + bytecode: TokenContractFactory.bytecode, }, { - deployer: TokenContractAbi, - bytecode: TokenContractAbiHex, + deployer: TokenContract, + bytecode: TokenContractFactory.bytecode, }, ], }); @@ -446,16 +449,16 @@ describe('TransactionSummary', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: TokenContractAbi, - bytecode: TokenContractAbiHex, + deployer: TokenContract, + bytecode: TokenContractFactory.bytecode, }, { - deployer: TokenContractAbi, - bytecode: TokenContractAbiHex, + deployer: TokenContract, + bytecode: TokenContractFactory.bytecode, }, { - deployer: TokenContractAbi, - bytecode: TokenContractAbiHex, + deployer: TokenContract, + bytecode: TokenContractFactory.bytecode, }, ], }); diff --git a/packages/fuel-gauge/src/vector-types.test.ts b/packages/fuel-gauge/src/vector-types.test.ts index e5114b9753b..c0cca86c502 100644 --- a/packages/fuel-gauge/src/vector-types.test.ts +++ b/packages/fuel-gauge/src/vector-types.test.ts @@ -1,10 +1,9 @@ import { bn, Predicate, Wallet, Address } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { VectorTypesScriptAbi } from '../test/typegen'; -import { VectorTypesContractAbi } from '../test/typegen/contracts'; -import VectorTypesContractAbiHex from '../test/typegen/contracts/VectorTypesContractAbi.hex'; -import { PredicateVectorTypesAbi } from '../test/typegen/predicates'; +import { VectorTypesScript } from '../test/typegen'; +import { VectorTypesContract, VectorTypesContractFactory } from '../test/typegen/contracts'; +import { PredicateVectorTypes } from '../test/typegen/predicates'; import { launchTestContract } from './utils'; @@ -84,8 +83,8 @@ type MainArgs = [ describe('Vector Types Validation', () => { it('can use supported vector types [vector-types-contract]', async () => { using contractInstance = await launchTestContract({ - deployer: VectorTypesContractAbi, - bytecode: VectorTypesContractAbiHex, + deployer: VectorTypesContract, + bytecode: VectorTypesContractFactory.bytecode, }); const { waitForResult } = await contractInstance.functions @@ -115,7 +114,7 @@ describe('Vector Types Validation', () => { wallets: [wallet], } = launched; - const scriptInstance = VectorTypesScriptAbi.createInstance(wallet); + const scriptInstance = VectorTypesScript.createInstance(wallet); const { waitForResult } = await scriptInstance.functions .main( @@ -150,9 +149,9 @@ describe('Vector Types Validation', () => { const amountToPredicate = 300_000; const amountToReceiver = 50; const predicate = new Predicate({ - bytecode: PredicateVectorTypes.bytecode, + bytecode: PredicateVectorTypesFactory.bytecode, provider: wallet.provider, - abi: PredicateVectorTypesAbi.abi, + abi: PredicateVectorTypes.abi, inputData: [ U32_VEC, VEC_IN_VEC, diff --git a/packages/fuel-gauge/src/vectors.test.ts b/packages/fuel-gauge/src/vectors.test.ts index abb55e4fa45..1e6ab2921b6 100644 --- a/packages/fuel-gauge/src/vectors.test.ts +++ b/packages/fuel-gauge/src/vectors.test.ts @@ -1,8 +1,7 @@ import { bn, randomBytes, hexlify } from 'fuels'; import type { BN } from 'fuels'; -import { VectorsAbi } from '../test/typegen/contracts'; -import VectorsAbiHex from '../test/typegen/contracts/VectorsAbi.hex'; +import { Vectors, VectorsFactory } from '../test/typegen/contracts'; import { launchTestContract } from './utils'; @@ -14,8 +13,8 @@ enum SmallEnum { function setupContract() { return launchTestContract({ - deployer: VectorsAbi, - bytecode: VectorsAbiHex, + deployer: Vectors, + bytecode: VectorsFactory.bytecode, }); } diff --git a/templates/nextjs/src/app/page.tsx b/templates/nextjs/src/app/page.tsx index f108b1dcdd9..f082fa21938 100644 --- a/templates/nextjs/src/app/page.tsx +++ b/templates/nextjs/src/app/page.tsx @@ -1,7 +1,6 @@ "use client"; -import type { TestContractAbi } from "@/sway-api"; -import { TestContractAbi } from "@/sway-api"; +import { TestContract } from "@/sway-api"; import contractIds from "@/sway-api/contract-ids.json"; import { FuelLogo } from "@/components/FuelLogo"; import { bn } from "fuels"; @@ -20,7 +19,7 @@ const contractId = export default function Home() { const { wallet, walletBalance, refreshWalletBalance } = useActiveWallet(); - const [contract, setContract] = useState(); + const [contract, setContract] = useState(); const [counter, setCounter] = useState(); /** @@ -30,7 +29,7 @@ export default function Home() { useAsync(async () => { if (wallet) { // Create a new instance of the contract - const testContract = TestContractAbi.connect(contractId, wallet); + const testContract = new TestContract(contractId, wallet); setContract(testContract); // Read the current value of the counter diff --git a/templates/nextjs/src/app/predicate/page.tsx b/templates/nextjs/src/app/predicate/page.tsx index 6220dbfbeb6..134bdabe601 100644 --- a/templates/nextjs/src/app/predicate/page.tsx +++ b/templates/nextjs/src/app/predicate/page.tsx @@ -5,7 +5,7 @@ import { FuelLogo } from "@/components/FuelLogo"; import { Input } from "@/components/Input"; import { Link } from "@/components/Link"; import { useActiveWallet } from "@/hooks/useActiveWallet"; -import { TestPredicateAbi } from "@/sway-api/predicates/index"; +import { TestPredicate } from "@/sway-api/predicates/index"; import { BN, InputValue, Predicate } from "fuels"; import { bn } from "fuels"; import { useState } from "react"; @@ -27,7 +27,7 @@ export default function PredicateExample() { if (wallet) { baseAssetId = wallet.provider.getBaseAssetId(); // Initialize a new predicate instance - const predicate = TestPredicateAbi.createInstance(wallet.provider); + const predicate = new TestPredicate(wallet.provider); setPredicate(predicate); setPredicateBalance(await predicate.getBalance()); } @@ -63,10 +63,9 @@ export default function PredicateExample() { } // Initialize a new predicate instance with the entered pin - const reInitializePredicate = TestPredicateAbi.createInstance( - wallet.provider, - [bn(pin)], - ); + const reInitializePredicate = new TestPredicate(wallet.provider, [ + bn(pin), + ]); if (!reInitializePredicate) { return toast.error("Failed to initialize predicate"); diff --git a/templates/nextjs/src/app/script/page.tsx b/templates/nextjs/src/app/script/page.tsx index 8ce587c699e..ac6502eee46 100644 --- a/templates/nextjs/src/app/script/page.tsx +++ b/templates/nextjs/src/app/script/page.tsx @@ -5,7 +5,7 @@ import { FuelLogo } from "@/components/FuelLogo"; import { Input } from "@/components/Input"; import { Link } from "@/components/Link"; import { useActiveWallet } from "@/hooks/useActiveWallet"; -import { TestScriptAbi } from "@/sway-api"; +import { TestScript } from "@/sway-api"; import { BN, BigNumberish, Script, bn } from "fuels"; import { useState } from "react"; import toast from "react-hot-toast"; @@ -21,7 +21,7 @@ export default function ScriptExample() { useAsync(async () => { if (wallet) { // Initialize script instance - const script = TestScriptAbi.createInstance(wallet); + const script = new TestScript(wallet); setScript(script); } }, [wallet]); diff --git a/templates/nextjs/test/contract.test.ts b/templates/nextjs/test/contract.test.ts index 5d557e3f003..10f1c5c9c4d 100644 --- a/templates/nextjs/test/contract.test.ts +++ b/templates/nextjs/test/contract.test.ts @@ -7,8 +7,7 @@ import { describe, test, expect } from 'vitest'; * * Can't find these imports? Make sure you've run `fuels build` to generate these with typegen. */ -import { TestContractAbi } from '../src/sway-api'; -import bytecode from '../src/sway-api/contracts/TestContractAbi.hex'; +import { TestContract, TestContractFactory } from '../src/sway-api'; /** * @group node @@ -26,8 +25,8 @@ describe('Contract', () => { // because we are instantiating it with the `using` keyword. contractsConfigs: [ { - deployer: TestContractAbi, - bytecode, + deployer: TestContract, + bytecode: TestContractFactory.bytecode, }, ], }); diff --git a/templates/nextjs/test/predicate.test.ts b/templates/nextjs/test/predicate.test.ts index c6ff7b6324a..21a0d1694c8 100644 --- a/templates/nextjs/test/predicate.test.ts +++ b/templates/nextjs/test/predicate.test.ts @@ -7,7 +7,7 @@ import { describe, test, expect } from 'vitest'; * * Can't find these imports? Make sure you've run `fuels build` to generate these with typegen. */ -import { TestPredicateAbi, TestPredicateAbiInputs } from '../src/sway-api'; +import { TestPredicate, TestPredicateInputs } from '../src/sway-api'; /** * @group node @@ -30,10 +30,10 @@ describe('Predicate', () => { } = launched; // For a predicate, we need to pass in an argument to evaluate the predicate. - const predicateData: TestPredicateAbiInputs = [1337]; + const predicateData: TestPredicateInputs = [1337]; // Now, we can instantiate our predicate. - const predicate = TestPredicateAbi.createInstance(provider, predicateData); + const predicate = new TestPredicate(provider, predicateData); // Lets also setup some transfer values to assert against. const amountToPredicate = 250_000; From 8ee6c2f687c35be806c126a3627de6287bb0d18b Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Mon, 22 Jul 2024 10:46:03 -0300 Subject: [PATCH 23/95] Work is never over --- .../create-fuels/decrement_counter.test.ts | 6 +-- .../testing/launching-a-test-node.test.ts | 4 +- .../fuel-gauge/src/advanced-logging.test.ts | 38 +++++++++---------- packages/fuel-gauge/src/auth-testing.test.ts | 14 ++++--- .../fuel-gauge/src/bytecode-sway-lib.test.ts | 6 +-- packages/fuel-gauge/src/bytes.test.ts | 10 ++--- .../fuel-gauge/src/call-test-contract.test.ts | 2 +- .../src/configurable-contract.test.ts | 2 +- .../fuel-gauge/src/contract-factory.test.ts | 8 ++-- packages/fuel-gauge/src/contract.test.ts | 8 ++-- .../fuel-gauge/src/coverage-contract.test.ts | 2 +- .../src/dry-run-multiple-txs.test.ts | 10 ++--- packages/fuel-gauge/src/edge-cases.test.ts | 2 +- packages/fuel-gauge/src/fee.test.ts | 8 ++-- .../src/generic-types-contract.test.ts | 2 +- .../src/is-function-readonly.test.ts | 2 +- .../src/multi-token-contract.test.ts | 4 +- packages/fuel-gauge/src/options.test.ts | 4 +- .../fuel-gauge/src/payable-annotation.test.ts | 2 +- packages/fuel-gauge/src/policies.test.ts | 8 ++-- .../predicate/predicate-with-contract.test.ts | 4 +- packages/fuel-gauge/src/raw-slice.test.ts | 2 +- .../src/reentrant-contract-calls.test.ts | 8 ++-- packages/fuel-gauge/src/revert-error.test.ts | 2 +- .../fuel-gauge/src/std-lib-string.test.ts | 2 +- packages/fuel-gauge/src/str-slice.test.ts | 2 +- .../src/token-test-contract.test.ts | 8 ++-- .../src/transaction-summary.test.ts | 16 ++++---- packages/fuel-gauge/src/vector-types.test.ts | 5 +-- packages/fuel-gauge/src/vectors.test.ts | 4 +- templates/nextjs/test/contract.test.ts | 4 +- 31 files changed, 100 insertions(+), 99 deletions(-) diff --git a/apps/docs-snippets/src/guide/create-fuels/decrement_counter.test.ts b/apps/docs-snippets/src/guide/create-fuels/decrement_counter.test.ts index 6728ad8da30..c0e8f5374e9 100644 --- a/apps/docs-snippets/src/guide/create-fuels/decrement_counter.test.ts +++ b/apps/docs-snippets/src/guide/create-fuels/decrement_counter.test.ts @@ -1,7 +1,7 @@ import { launchTestNode } from 'fuels/test-utils'; import { describe, test, expect } from 'vitest'; -import { CounterAbi } from '../../../test/typegen'; +import { CounterFactory } from '../../../test/typegen'; /** * @group node @@ -20,8 +20,8 @@ describe('Counter Contract', () => { // because we are instantiating it with the `using` keyword. contractsConfigs: [ { - deployer: CounterAbi, - bytecode, + deployer: CounterFactory, + bytecode: CounterFactory.bytecode, }, ], }); diff --git a/apps/docs-snippets/src/guide/testing/launching-a-test-node.test.ts b/apps/docs-snippets/src/guide/testing/launching-a-test-node.test.ts index c5a730db04d..e6c359e04df 100644 --- a/apps/docs-snippets/src/guide/testing/launching-a-test-node.test.ts +++ b/apps/docs-snippets/src/guide/testing/launching-a-test-node.test.ts @@ -56,7 +56,7 @@ describe('launching a test node', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: TestContract, + deployer: TestContractFactory, bytecode, }, ], @@ -96,7 +96,7 @@ describe('launching a test node', () => { }, contractsConfigs: [ { - deployer: TestContract, + deployer: TestContractFactory, bytecode, walletIndex: 3, options: { storageSlots: [] }, diff --git a/packages/fuel-gauge/src/advanced-logging.test.ts b/packages/fuel-gauge/src/advanced-logging.test.ts index 592049f0810..86c818fda98 100644 --- a/packages/fuel-gauge/src/advanced-logging.test.ts +++ b/packages/fuel-gauge/src/advanced-logging.test.ts @@ -21,7 +21,7 @@ import { launchTestContract } from './utils'; describe('Advanced Logging', () => { it('can get log data', async () => { using advancedLogContract = await launchTestContract({ - deployer: AdvancedLoggingFactory, + deployer: AdvancedLoggingFactoryFactory, bytecode: AdvancedLoggingFactory.bytecode, }); ``; @@ -71,7 +71,7 @@ describe('Advanced Logging', () => { it('can get log data from require [condition=true]', async () => { using advancedLogContract = await launchTestContract({ - deployer: AdvancedLogging, + deployer: AdvancedLoggingFactory, bytecode: AdvancedLoggingFactory.bytecode, }); @@ -87,7 +87,7 @@ describe('Advanced Logging', () => { it('can get log data from require [condition=false]', async () => { using advancedLogContract = await launchTestContract({ - deployer: AdvancedLogging, + deployer: AdvancedLoggingFactory, bytecode: AdvancedLoggingFactory.bytecode, }); @@ -122,9 +122,9 @@ describe('Advanced Logging', () => { it('can get log data from a downstream Contract', async () => { using launched = await launchTestNode({ contractsConfigs: [ - { deployer: AdvancedLogging, bytecode: AdvancedLogging.bytecode }, + { deployer: AdvancedLogging, bytecode: AdvancedLogging.bytecode }Factory, { - deployer: AdvancedLoggingOtherContract, + deployer: AdvancedLoggingOtherContractFactory, bytecode: AdvancedLoggingOtherContractFactory.bytecode, }, ], @@ -170,14 +170,14 @@ describe('Advanced Logging', () => { it('when using InvacationScope', async () => { using launched = await launchTestNode({ contractsConfigs: [ - { deployer: AdvancedLogging, bytecode: AdvancedLogging.bytecode }, + { deployer: AdvancedLogging, bytecode: AdvancedLogging.bytecode }Factory, { - deployer: AdvancedLoggingOtherContract, + deployer: AdvancedLoggingOtherContractFactory, bytecode: AdvancedLoggingOtherContractFactory.bytecode, }, - { deployer: CallTestContract, bytecode: CallTestContract.bytecode }, - { deployer: ConfigurableContract, bytecode: ConfigurableContract.bytecode }, - { deployer: CoverageContract, bytecode: CoverageContract.bytecode }, + { deployer: CallTestContract, bytecode: CallTestContract.bytecode }Factory, + { deployer: ConfigurableContract, bytecode: ConfigurableContract.bytecode }Factory, + { deployer: CoverageContract, bytecode: CoverageContract.bytecode }Factory, ], }); @@ -212,14 +212,14 @@ describe('Advanced Logging', () => { it('when using ScriptTransactionRequest', async () => { using launched = await launchTestNode({ contractsConfigs: [ - { deployer: AdvancedLogging, bytecode: AdvancedLogging.bytecode }, + { deployer: AdvancedLogging, bytecode: AdvancedLogging.bytecode }Factory, { - deployer: AdvancedLoggingOtherContract, + deployer: AdvancedLoggingOtherContractFactory, bytecode: AdvancedLoggingOtherContractFactory.bytecode, }, - { deployer: CallTestContract, bytecode: CallTestContract.bytecode }, - { deployer: ConfigurableContract, bytecode: ConfigurableContract.bytecode }, - { deployer: CoverageContract, bytecode: CoverageContract.bytecode }, + { deployer: CallTestContract, bytecode: CallTestContract.bytecode }Factory, + { deployer: ConfigurableContract, bytecode: ConfigurableContract.bytecode }Factory, + { deployer: CoverageContract, bytecode: CoverageContract.bytecode }Factory, ], }); @@ -284,9 +284,9 @@ describe('Advanced Logging', () => { it('when using InvocationScope', async () => { using launched = await launchTestNode({ contractsConfigs: [ - { deployer: AdvancedLogging, bytecode: AdvancedLogging.bytecode }, + { deployer: AdvancedLogging, bytecode: AdvancedLogging.bytecode }Factory, { - deployer: AdvancedLoggingOtherContract, + deployer: AdvancedLoggingOtherContractFactory, bytecode: AdvancedLoggingOtherContractFactory.bytecode, }, ], @@ -312,9 +312,9 @@ describe('Advanced Logging', () => { it('when using ScriptTransactionRequest', async () => { using launched = await launchTestNode({ contractsConfigs: [ - { deployer: AdvancedLogging, bytecode: AdvancedLogging.bytecode }, + { deployer: AdvancedLogging, bytecode: AdvancedLogging.bytecode }Factory, { - deployer: AdvancedLoggingOtherContract, + deployer: AdvancedLoggingOtherContractFactory, bytecode: AdvancedLoggingOtherContractFactory.bytecode, }, ], diff --git a/packages/fuel-gauge/src/auth-testing.test.ts b/packages/fuel-gauge/src/auth-testing.test.ts index 1028a716324..6ed13a83b8e 100644 --- a/packages/fuel-gauge/src/auth-testing.test.ts +++ b/packages/fuel-gauge/src/auth-testing.test.ts @@ -1,7 +1,7 @@ import { getRandomB256 } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { AuthTestingContractAbi } from '../test/typegen/contracts'; +import { AuthTestingContractFactory } from '../test/typegen/contracts'; import { launchTestContract } from './utils'; @@ -12,8 +12,8 @@ import { launchTestContract } from './utils'; describe('Auth Testing', () => { it('can get is_caller_external', async () => { using contractInstance = await launchTestContract({ - deployer: AuthTestingContractAbi, - bytecode: AuthTestingAbiFactory.bytecode, + deployer: AuthTestingContractFactory, + bytecode: AuthTestingContractFactory.bytecode, }); const { waitForResult } = await contractInstance.functions.is_caller_external().call(); @@ -24,7 +24,9 @@ describe('Auth Testing', () => { it('can check_msg_sender [with correct id]', async () => { using launched = await launchTestNode({ - contractsConfigs: [{ deployer: AuthTestingContractAbi, bytecode: AuthTestingAbi.bytecode }], + contractsConfigs: [ + { deployer: AuthTestingContractFactory, bytecode: AuthTestingContractFactory.bytecode }, + ], }); const { @@ -43,8 +45,8 @@ describe('Auth Testing', () => { it('can check_msg_sender [with incorrect id]', async () => { using contractInstance = await launchTestContract({ - deployer: AuthTestingContractAbi, - bytecode: AuthTestingAbiFactory.bytecode, + deployer: AuthTestingContractFactory, + bytecode: AuthTestingContractFactory.bytecode, }); await expect( diff --git a/packages/fuel-gauge/src/bytecode-sway-lib.test.ts b/packages/fuel-gauge/src/bytecode-sway-lib.test.ts index 09df1ecbcc6..425ca7093c8 100644 --- a/packages/fuel-gauge/src/bytecode-sway-lib.test.ts +++ b/packages/fuel-gauge/src/bytecode-sway-lib.test.ts @@ -14,7 +14,7 @@ import { launchTestContract } from './utils'; describe('bytecode computations', () => { it('compute_bytecode_root', async () => { using contract = await launchTestContract({ - deployer: BytecodeSwayLibAbi, + deployer: BytecodeSwayLibAbiFactory, bytecode: BytecodeSwayLibAbiFactory.bytecode, }); @@ -32,7 +32,7 @@ describe('bytecode computations', () => { it('verify_contract_bytecode', async () => { using contract = await launchTestContract({ - deployer: BytecodeSwayLibAbi, + deployer: BytecodeSwayLibAbiFactory, bytecode: BytecodeSwayLibAbiFactory.bytecode, }); @@ -54,7 +54,7 @@ describe('bytecode computations', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: BytecodeSwayLibAbi, + deployer: BytecodeSwayLibAbiFactory, bytecode: BytecodeSwayLibAbiFactory.bytecode, }, ], diff --git a/packages/fuel-gauge/src/bytes.test.ts b/packages/fuel-gauge/src/bytes.test.ts index d6ed5cac017..82970e7e170 100644 --- a/packages/fuel-gauge/src/bytes.test.ts +++ b/packages/fuel-gauge/src/bytes.test.ts @@ -13,7 +13,7 @@ import { launchTestContract } from './utils'; describe('Bytes Tests', () => { it('should test bytes output', async () => { using contractInstance = await launchTestContract({ - deployer: BytesAbi, + deployer: BytesAbiFactory, bytecode: BytesAbiFactory.bytecode, }); @@ -25,7 +25,7 @@ describe('Bytes Tests', () => { it('should test bytes output [100 items]', async () => { using contractInstance = await launchTestContract({ - deployer: BytesAbi, + deployer: BytesAbiFactory, bytecode: BytesAbiFactory.bytecode, }); @@ -37,7 +37,7 @@ describe('Bytes Tests', () => { it('should test bytes input', async () => { using contractInstance = await launchTestContract({ - deployer: BytesAbi, + deployer: BytesAbiFactory, bytecode: BytesAbiFactory.bytecode, }); @@ -51,7 +51,7 @@ describe('Bytes Tests', () => { it('should test bytes input [nested]', async () => { using contractInstance = await launchTestContract({ - deployer: BytesAbi, + deployer: BytesAbiFactory, bytecode: BytesAbiFactory.bytecode, }); const bytes = [40, 41, 42]; @@ -72,7 +72,7 @@ describe('Bytes Tests', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: BytesAbi, + deployer: BytesAbiFactory, bytecode: BytesAbiFactory.bytecode, }, ], diff --git a/packages/fuel-gauge/src/call-test-contract.test.ts b/packages/fuel-gauge/src/call-test-contract.test.ts index da79c6a9c70..197e5c9dea4 100644 --- a/packages/fuel-gauge/src/call-test-contract.test.ts +++ b/packages/fuel-gauge/src/call-test-contract.test.ts @@ -7,7 +7,7 @@ import { CallTestContractAbi } from '../test/typegen/contracts'; import { launchTestContract } from './utils'; function setupContract() { - return launchTestContract({ deployer: CallTestContractAbi, bytecode }); + return launchTestContract({ deployer: CallTestContractAbiFactory, bytecode }); } const U64_MAX = bn(2).pow(64).sub(1); diff --git a/packages/fuel-gauge/src/configurable-contract.test.ts b/packages/fuel-gauge/src/configurable-contract.test.ts index 35c9ff3dba8..a672a2ed0d8 100644 --- a/packages/fuel-gauge/src/configurable-contract.test.ts +++ b/packages/fuel-gauge/src/configurable-contract.test.ts @@ -28,7 +28,7 @@ function setupContract(configurableConstants?: { [name: string]: unknown }) { return launchTestNode({ contractsConfigs: [ { - deployer: ConfigurableContractAbi, + deployer: ConfigurableContractAbiFactory, bytecode: ConfigurableContractAbiFactory.bytecode, options: { configurableConstants }, }, diff --git a/packages/fuel-gauge/src/contract-factory.test.ts b/packages/fuel-gauge/src/contract-factory.test.ts index f74f74042f8..6c9c2400232 100644 --- a/packages/fuel-gauge/src/contract-factory.test.ts +++ b/packages/fuel-gauge/src/contract-factory.test.ts @@ -15,7 +15,7 @@ import { launchTestContract } from './utils'; describe('Contract Factory', () => { it('Creates a factory from inputs that can return call results', async () => { using contract = await launchTestContract({ - deployer: StorageTestContractAbi, + deployer: StorageTestContractAbiFactory, bytecode: StorageTestContractAbiFactory.bytecode, }); expect(contract.interface).toBeInstanceOf(Interface); @@ -36,7 +36,7 @@ describe('Contract Factory', () => { it('Creates a factory from inputs that can return transaction results', async () => { using contract = await launchTestContract({ - deployer: StorageTestContractAbi, + deployer: StorageTestContractAbiFactory, bytecode: StorageTestContractAbiFactory.bytecode, }); @@ -84,7 +84,7 @@ describe('Contract Factory', () => { it('Creates a factory from inputs that can prepare call data', async () => { using contract = await launchTestContract({ - deployer: StorageTestContractAbi, + deployer: StorageTestContractAbiFactory, bytecode: StorageTestContractAbiFactory.bytecode, }); @@ -127,7 +127,7 @@ describe('Contract Factory', () => { it('Creates a contract with initial storage fixed var names', async () => { using contract = await launchTestContract({ - deployer: StorageTestContractAbi, + deployer: StorageTestContractAbiFactory, bytecode: StorageTestContractAbiFactory.bytecode, storageSlots: StorageTestContractAbi.storageSlots, }); diff --git a/packages/fuel-gauge/src/contract.test.ts b/packages/fuel-gauge/src/contract.test.ts index 5268aaf420b..f50ea003a8c 100644 --- a/packages/fuel-gauge/src/contract.test.ts +++ b/packages/fuel-gauge/src/contract.test.ts @@ -27,11 +27,11 @@ import { launchTestContract } from './utils'; const contractsConfigs: DeployContractConfig[] = [ { - deployer: CallTestContractAbi, + deployer: CallTestContractAbiFactory, bytecode: CallTestContractAbiFactory.bytecode, }, { - deployer: CallTestContractAbi, + deployer: CallTestContractAbiFactory, bytecode: CallTestContractAbiFactory.bytecode, }, ]; @@ -158,7 +158,7 @@ const AltToken = '0x010101010101010101010101010101010101010101010101010101010101 function setupTestContract() { return launchTestContract({ - deployer: CallTestContractAbi, + deployer: CallTestContractAbiFactory, bytecode: CallTestContractAbiFactory.bytecode, }); } @@ -1204,7 +1204,7 @@ describe('Contract', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: StorageTestContractAbi, + deployer: StorageTestContractAbiFactory, bytecode: StorageTestContractAbiFactory.bytecode, }, ], diff --git a/packages/fuel-gauge/src/coverage-contract.test.ts b/packages/fuel-gauge/src/coverage-contract.test.ts index f8969f6c9c7..3d74960a8fe 100644 --- a/packages/fuel-gauge/src/coverage-contract.test.ts +++ b/packages/fuel-gauge/src/coverage-contract.test.ts @@ -36,7 +36,7 @@ enum MixedNativeEnum { function setupContract() { return launchTestContract({ - deployer: CoverageContractAbi, + deployer: CoverageContractAbiFactory, bytecode: CoverageContractAbiFactory.bytecode, }); } diff --git a/packages/fuel-gauge/src/dry-run-multiple-txs.test.ts b/packages/fuel-gauge/src/dry-run-multiple-txs.test.ts index d05bfd3e44b..da39d566ff4 100644 --- a/packages/fuel-gauge/src/dry-run-multiple-txs.test.ts +++ b/packages/fuel-gauge/src/dry-run-multiple-txs.test.ts @@ -23,7 +23,7 @@ describe('dry-run-multiple-txs', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: RevertErrorAbi, + deployer: RevertErrorAbiFactory, bytecode: RevertErrorAbiFactory.bytecode, }, ], @@ -121,19 +121,19 @@ describe('dry-run-multiple-txs', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: RevertErrorAbi, + deployer: RevertErrorAbiFactory, bytecode: RevertErrorAbiFactory.bytecode, }, { - deployer: MultiTokenContractAbi, + deployer: MultiTokenContractAbiFactory, bytecode: MultiTokenAbiFactory.bytecode, }, { - deployer: AdvancedLoggingAbi, + deployer: AdvancedLoggingAbiFactory, bytecode: AdvancedLoggingAbiFactory.bytecode, }, { - deployer: AdvancedLoggingOtherContractAbi, + deployer: AdvancedLoggingOtherContractAbiFactory, bytecode: AdvancedLoggingOtherContractAbiFactory.bytecode, }, ], diff --git a/packages/fuel-gauge/src/edge-cases.test.ts b/packages/fuel-gauge/src/edge-cases.test.ts index 2f62aff0ee4..fbfeb4fb602 100644 --- a/packages/fuel-gauge/src/edge-cases.test.ts +++ b/packages/fuel-gauge/src/edge-cases.test.ts @@ -12,7 +12,7 @@ import { launchTestContract } from './utils'; describe('Edge Cases', () => { it('can run collision_in_fn_names', async () => { using contractInstance = await launchTestContract({ - deployer: CollisionInFnNamesAbi, + deployer: CollisionInFnNamesAbiFactory, bytecode: CollisionInFnNamesAbiFactory.bytecode, }); diff --git a/packages/fuel-gauge/src/fee.test.ts b/packages/fuel-gauge/src/fee.test.ts index ea6ee3e0486..026ced28b69 100644 --- a/packages/fuel-gauge/src/fee.test.ts +++ b/packages/fuel-gauge/src/fee.test.ts @@ -32,7 +32,7 @@ describe('Fee', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: MultiTokenContractAbi, + deployer: MultiTokenContractAbiFactory, bytecode: MultiTokenContractAbiFactory.bytecode, }, ], @@ -192,7 +192,7 @@ describe('Fee', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: CallTestContractAbi, + deployer: CallTestContractAbiFactory, bytecode: CallTestContractAbiFactory.bytecode, }, ], @@ -225,7 +225,7 @@ describe('Fee', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: CallTestContractAbi, + deployer: CallTestContractAbiFactory, bytecode: CallTestContractAbiFactory.bytecode, }, ], @@ -265,7 +265,7 @@ describe('Fee', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: MultiTokenContractAbi, + deployer: MultiTokenContractAbiFactory, bytecode: MultiTokenContractAbiFactory.bytecode, }, ], diff --git a/packages/fuel-gauge/src/generic-types-contract.test.ts b/packages/fuel-gauge/src/generic-types-contract.test.ts index d3fe1227868..9b699754452 100644 --- a/packages/fuel-gauge/src/generic-types-contract.test.ts +++ b/packages/fuel-gauge/src/generic-types-contract.test.ts @@ -10,7 +10,7 @@ import { launchTestContract } from './utils'; describe('GenericTypesContract', () => { it('should call complex contract function with generic type', async () => { using contract = await launchTestContract({ - deployer: GenericTypesContractAbi, + deployer: GenericTypesContractAbiFactory, bytecode: GenericTypesContractAbiFactory.bytecode, }); diff --git a/packages/fuel-gauge/src/is-function-readonly.test.ts b/packages/fuel-gauge/src/is-function-readonly.test.ts index 05f540d3256..33e35d53cb8 100644 --- a/packages/fuel-gauge/src/is-function-readonly.test.ts +++ b/packages/fuel-gauge/src/is-function-readonly.test.ts @@ -4,7 +4,7 @@ import { launchTestContract } from './utils'; function setupContract() { return launchTestContract({ - deployer: StorageTestContractAbi, + deployer: StorageTestContractAbiFactory, bytecode: StorageTestContractAbiFactory.bytecode, }); } diff --git a/packages/fuel-gauge/src/multi-token-contract.test.ts b/packages/fuel-gauge/src/multi-token-contract.test.ts index b400d064379..07cbfbe25a4 100644 --- a/packages/fuel-gauge/src/multi-token-contract.test.ts +++ b/packages/fuel-gauge/src/multi-token-contract.test.ts @@ -20,7 +20,7 @@ describe('MultiTokenContract', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: MultiTokenContractAbi, + deployer: MultiTokenContractAbiFactory, bytecode: binHexlified, }, ], @@ -113,7 +113,7 @@ describe('MultiTokenContract', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: MultiTokenContractAbi, + deployer: MultiTokenContractAbiFactory, bytecode: binHexlified, }, ], diff --git a/packages/fuel-gauge/src/options.test.ts b/packages/fuel-gauge/src/options.test.ts index c280bf5e71a..7dacd0d4172 100644 --- a/packages/fuel-gauge/src/options.test.ts +++ b/packages/fuel-gauge/src/options.test.ts @@ -11,7 +11,7 @@ const U32_MAX = 4294967295; function launchOptionsContract() { return launchTestContract({ bytecode: OptionsAbiFactory.bytecode, - deployer: OptionsAbi, + deployer: OptionsAbiFactory, }); } @@ -204,7 +204,7 @@ describe('Options Tests', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: OptionsAbi, + deployer: OptionsAbiFactory, bytecode: OptionsAbiFactory.bytecode, }, ], diff --git a/packages/fuel-gauge/src/payable-annotation.test.ts b/packages/fuel-gauge/src/payable-annotation.test.ts index 220fdea4378..aa22c5e7309 100644 --- a/packages/fuel-gauge/src/payable-annotation.test.ts +++ b/packages/fuel-gauge/src/payable-annotation.test.ts @@ -7,7 +7,7 @@ import { launchTestContract } from './utils'; function launchPayableContract() { return launchTestContract({ bytecode: PayableAnnotationAbiFactory.bytecode, - deployer: PayableAnnotationAbi, + deployer: PayableAnnotationAbiFactory, }); } diff --git a/packages/fuel-gauge/src/policies.test.ts b/packages/fuel-gauge/src/policies.test.ts index ce648738e1a..41f53a9e82f 100644 --- a/packages/fuel-gauge/src/policies.test.ts +++ b/packages/fuel-gauge/src/policies.test.ts @@ -189,7 +189,7 @@ describe('Policies', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: PayableAnnotationAbi, + deployer: PayableAnnotationAbiFactory, bytecode: PayableAnnotationAbiFactory.bytecode, }, ], @@ -290,7 +290,7 @@ describe('Policies', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: PayableAnnotationAbi, + deployer: PayableAnnotationAbiFactory, bytecode: PayableAnnotationAbiFactory.bytecode, }, ], @@ -383,7 +383,7 @@ describe('Policies', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: PayableAnnotationAbi, + deployer: PayableAnnotationAbiFactory, bytecode: PayableAnnotationAbiFactory.bytecode, }, ], @@ -466,7 +466,7 @@ describe('Policies', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: PayableAnnotationAbi, + deployer: PayableAnnotationAbiFactory, bytecode: PayableAnnotationAbiFactory.bytecode, }, ], diff --git a/packages/fuel-gauge/src/predicate/predicate-with-contract.test.ts b/packages/fuel-gauge/src/predicate/predicate-with-contract.test.ts index 9c5743b2456..5fc69f51ed4 100644 --- a/packages/fuel-gauge/src/predicate/predicate-with-contract.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-with-contract.test.ts @@ -15,7 +15,7 @@ describe('Predicate', () => { describe('With Contract', () => { it('calls a predicate from a contract function', async () => { using launched = await launchTestNode({ - contractsConfigs: [{ deployer: CallTestContractAbi, bytecode: contractBytes }], + contractsConfigs: [{ deployer: CallTestContractAbi, bytecode: contractBytes }]Factory, }); const { @@ -46,7 +46,7 @@ describe('Predicate', () => { it('calls a predicate and uses proceeds for a contract call', async () => { using launched = await launchTestNode({ - contractsConfigs: [{ deployer: TokenContractAbi, bytecode: tokenPoolBytes }], + contractsConfigs: [{ deployer: TokenContractAbi, bytecode: tokenPoolBytes }]Factory, }); const { diff --git a/packages/fuel-gauge/src/raw-slice.test.ts b/packages/fuel-gauge/src/raw-slice.test.ts index a9615f9fb70..f5522e4ee13 100644 --- a/packages/fuel-gauge/src/raw-slice.test.ts +++ b/packages/fuel-gauge/src/raw-slice.test.ts @@ -21,7 +21,7 @@ type Wrapper = { function setupRawSliceContract() { return launchTestContract({ - deployer: RawSliceAbi, + deployer: RawSliceAbiFactory, bytecode: RawSliceAbiFactory.bytecode, }); } diff --git a/packages/fuel-gauge/src/reentrant-contract-calls.test.ts b/packages/fuel-gauge/src/reentrant-contract-calls.test.ts index be26e5ce3c9..69c3ae7927a 100644 --- a/packages/fuel-gauge/src/reentrant-contract-calls.test.ts +++ b/packages/fuel-gauge/src/reentrant-contract-calls.test.ts @@ -16,11 +16,11 @@ describe('Reentrant Contract Calls', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: ReentrantFooAbi, + deployer: ReentrantFooAbiFactory, bytecode: ReentrantFooAbiFactory.bytecode, }, { - deployer: ReentrantBarAbi, + deployer: ReentrantBarAbiFactory, bytecode: ReentrantBarAbiFactory.bytecode, }, ], @@ -69,11 +69,11 @@ describe('Reentrant Contract Calls', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: ReentrantFooAbi, + deployer: ReentrantFooAbiFactory, bytecode: ReentrantFooAbiFactory.bytecode, }, { - deployer: ReentrantBarAbi, + deployer: ReentrantBarAbiFactory, bytecode: ReentrantBarAbiFactory.bytecode, }, ], diff --git a/packages/fuel-gauge/src/revert-error.test.ts b/packages/fuel-gauge/src/revert-error.test.ts index 0d03c5909c5..78525812517 100644 --- a/packages/fuel-gauge/src/revert-error.test.ts +++ b/packages/fuel-gauge/src/revert-error.test.ts @@ -10,7 +10,7 @@ import { launchTestContract } from './utils'; function launchContract() { return launchTestContract({ - deployer: RevertErrorAbi, + deployer: RevertErrorAbiFactory, bytecode: RevertErrorAbiFactory.bytecode, }); } diff --git a/packages/fuel-gauge/src/std-lib-string.test.ts b/packages/fuel-gauge/src/std-lib-string.test.ts index a12421e4a81..113598c9784 100644 --- a/packages/fuel-gauge/src/std-lib-string.test.ts +++ b/packages/fuel-gauge/src/std-lib-string.test.ts @@ -12,7 +12,7 @@ import { launchTestContract } from './utils'; function setupContract() { return launchTestContract({ - deployer: StdLibString, + deployer: StdLibStringFactory, bytecode: StdLibStringFactory.bytecode, }); } diff --git a/packages/fuel-gauge/src/str-slice.test.ts b/packages/fuel-gauge/src/str-slice.test.ts index 55146e2c4a4..e690880a97e 100644 --- a/packages/fuel-gauge/src/str-slice.test.ts +++ b/packages/fuel-gauge/src/str-slice.test.ts @@ -13,7 +13,7 @@ describe('str slice', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: StrSlice, + deployer: StrSliceFactory, bytecode: StrSliceFactory.bytecode, }, ], diff --git a/packages/fuel-gauge/src/token-test-contract.test.ts b/packages/fuel-gauge/src/token-test-contract.test.ts index f728ea6a711..d23cd466d94 100644 --- a/packages/fuel-gauge/src/token-test-contract.test.ts +++ b/packages/fuel-gauge/src/token-test-contract.test.ts @@ -16,7 +16,7 @@ describe('TokenTestContract', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: TokenContract, + deployer: TokenContractFactory, bytecode: TokenContractFactory.bytecode, }, ], @@ -66,7 +66,7 @@ describe('TokenTestContract', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: TokenContract, + deployer: TokenContractFactory, bytecode: TokenContractFactory.bytecode, }, ], @@ -141,7 +141,7 @@ describe('TokenTestContract', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: TokenContract, + deployer: TokenContractFactory, bytecode: TokenContractFactory.bytecode, }, ], @@ -181,7 +181,7 @@ describe('TokenTestContract', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: TokenContract, + deployer: TokenContractFactory, bytecode: TokenContractFactory.bytecode, }, ], diff --git a/packages/fuel-gauge/src/transaction-summary.test.ts b/packages/fuel-gauge/src/transaction-summary.test.ts index 4a6b7d86b40..8521efe7e3b 100644 --- a/packages/fuel-gauge/src/transaction-summary.test.ts +++ b/packages/fuel-gauge/src/transaction-summary.test.ts @@ -247,7 +247,7 @@ describe('TransactionSummary', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: MultiTokenContract, + deployer: MultiTokenContractFactory, bytecode: MultiTokenContractFactory.bytecode, }, ], @@ -279,7 +279,7 @@ describe('TransactionSummary', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: TokenContract, + deployer: TokenContractFactory, bytecode: TokenContractFactory.bytecode, }, ], @@ -321,7 +321,7 @@ describe('TransactionSummary', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: TokenContract, + deployer: TokenContractFactory, bytecode: TokenContractFactory.bytecode, }, ], @@ -400,11 +400,11 @@ describe('TransactionSummary', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: TokenContract, + deployer: TokenContractFactory, bytecode: TokenContractFactory.bytecode, }, { - deployer: TokenContract, + deployer: TokenContractFactory, bytecode: TokenContractFactory.bytecode, }, ], @@ -449,15 +449,15 @@ describe('TransactionSummary', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: TokenContract, + deployer: TokenContractFactory, bytecode: TokenContractFactory.bytecode, }, { - deployer: TokenContract, + deployer: TokenContractFactory, bytecode: TokenContractFactory.bytecode, }, { - deployer: TokenContract, + deployer: TokenContractFactory, bytecode: TokenContractFactory.bytecode, }, ], diff --git a/packages/fuel-gauge/src/vector-types.test.ts b/packages/fuel-gauge/src/vector-types.test.ts index c0cca86c502..86e7503866b 100644 --- a/packages/fuel-gauge/src/vector-types.test.ts +++ b/packages/fuel-gauge/src/vector-types.test.ts @@ -1,9 +1,8 @@ import { bn, Predicate, Wallet, Address } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { VectorTypesScript } from '../test/typegen'; -import { VectorTypesContract, VectorTypesContractFactory } from '../test/typegen/contracts'; import { PredicateVectorTypes } from '../test/typegen/predicates'; +import { VectorsFactory } from '../test/typegen/scripts'; import { launchTestContract } from './utils'; @@ -83,7 +82,7 @@ type MainArgs = [ describe('Vector Types Validation', () => { it('can use supported vector types [vector-types-contract]', async () => { using contractInstance = await launchTestContract({ - deployer: VectorTypesContract, + deployer: VectorTypesContractFactory, bytecode: VectorTypesContractFactory.bytecode, }); diff --git a/packages/fuel-gauge/src/vectors.test.ts b/packages/fuel-gauge/src/vectors.test.ts index 1e6ab2921b6..5e4aca82a12 100644 --- a/packages/fuel-gauge/src/vectors.test.ts +++ b/packages/fuel-gauge/src/vectors.test.ts @@ -1,7 +1,7 @@ import { bn, randomBytes, hexlify } from 'fuels'; import type { BN } from 'fuels'; -import { Vectors, VectorsFactory } from '../test/typegen/contracts'; +import { VectorsFactory } from '../test/typegen/contracts'; import { launchTestContract } from './utils'; @@ -13,7 +13,7 @@ enum SmallEnum { function setupContract() { return launchTestContract({ - deployer: Vectors, + deployer: VectorsFactory, bytecode: VectorsFactory.bytecode, }); } diff --git a/templates/nextjs/test/contract.test.ts b/templates/nextjs/test/contract.test.ts index 10f1c5c9c4d..a72e0bd300b 100644 --- a/templates/nextjs/test/contract.test.ts +++ b/templates/nextjs/test/contract.test.ts @@ -7,7 +7,7 @@ import { describe, test, expect } from 'vitest'; * * Can't find these imports? Make sure you've run `fuels build` to generate these with typegen. */ -import { TestContract, TestContractFactory } from '../src/sway-api'; +import { TestContractFactory } from '../src/sway-api'; /** * @group node @@ -25,7 +25,7 @@ describe('Contract', () => { // because we are instantiating it with the `using` keyword. contractsConfigs: [ { - deployer: TestContract, + deployer: TestContractFactory, bytecode: TestContractFactory.bytecode, }, ], From b4c5b236c607a8516be5ec8dfcb9de795fdefd0b Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Mon, 22 Jul 2024 16:06:46 -0300 Subject: [PATCH 24/95] Removing unnecessary field from test node launcher --- .../create-fuels/decrement_counter.test.ts | 1 - .../src/test-utils/launch-test-node.test.ts | 21 ++++------- .../src/test-utils/launch-test-node.ts | 13 +++---- .../fuel-gauge/src/advanced-logging.test.ts | 16 ++++----- packages/fuel-gauge/src/auth-testing.test.ts | 2 -- .../fuel-gauge/src/bytecode-sway-lib.test.ts | 3 -- packages/fuel-gauge/src/bytes.test.ts | 5 --- .../src/configurable-contract.test.ts | 2 +- .../fuel-gauge/src/contract-factory.test.ts | 35 +++++++++---------- packages/fuel-gauge/src/contract.test.ts | 6 ---- .../fuel-gauge/src/coverage-contract.test.ts | 1 - packages/fuel-gauge/src/doc-examples.test.ts | 1 - .../src/dry-run-multiple-txs.test.ts | 5 --- packages/fuel-gauge/src/edge-cases.test.ts | 1 - packages/fuel-gauge/src/fee.test.ts | 5 --- .../src/generic-types-contract.test.ts | 1 - .../src/is-function-readonly.test.ts | 1 - .../src/multi-token-contract.test.ts | 8 ++--- packages/fuel-gauge/src/options.test.ts | 2 -- .../fuel-gauge/src/payable-annotation.test.ts | 1 - packages/fuel-gauge/src/policies.test.ts | 4 --- .../predicate/predicate-configurables.test.ts | 8 ----- .../predicate/predicate-estimations.test.ts | 6 ---- .../src/predicate/predicate-general.test.ts | 1 - .../predicate/predicate-input-data.test.ts | 1 - .../predicate/predicate-invalidations.test.ts | 2 -- .../predicate-populate-witness.test.ts | 9 ----- .../predicate/predicate-with-script.test.ts | 1 - packages/fuel-gauge/src/raw-slice.test.ts | 3 -- .../src/reentrant-contract-calls.test.ts | 4 --- packages/fuel-gauge/src/revert-error.test.ts | 11 ++---- .../fuel-gauge/src/std-lib-string.test.ts | 2 -- packages/fuel-gauge/src/str-slice.test.ts | 1 - .../src/token-test-contract.test.ts | 4 --- .../src/transaction-summary.test.ts | 8 ----- packages/fuel-gauge/src/vector-types.test.ts | 2 -- packages/fuel-gauge/src/vectors.test.ts | 1 - templates/nextjs/test/contract.test.ts | 3 +- 38 files changed, 43 insertions(+), 158 deletions(-) diff --git a/apps/docs-snippets/src/guide/create-fuels/decrement_counter.test.ts b/apps/docs-snippets/src/guide/create-fuels/decrement_counter.test.ts index c0e8f5374e9..b2dc45af53d 100644 --- a/apps/docs-snippets/src/guide/create-fuels/decrement_counter.test.ts +++ b/apps/docs-snippets/src/guide/create-fuels/decrement_counter.test.ts @@ -21,7 +21,6 @@ describe('Counter Contract', () => { contractsConfigs: [ { deployer: CounterFactory, - bytecode: CounterFactory.bytecode, }, ], }); diff --git a/packages/contract/src/test-utils/launch-test-node.test.ts b/packages/contract/src/test-utils/launch-test-node.test.ts index d88afa64297..1df4d1396ed 100644 --- a/packages/contract/src/test-utils/launch-test-node.test.ts +++ b/packages/contract/src/test-utils/launch-test-node.test.ts @@ -92,12 +92,11 @@ describe('launchTestNode', () => { launchTestNode({ contractsConfigs: [ { - deployer: { + factory: { deploy: () => { throw new Error('Test error'); }, }, - bytecode: binHexlified, }, ], }) @@ -118,13 +117,12 @@ describe('launchTestNode', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: { + factory: { deploy: async (wallet, options) => { const factory = new ContractFactory(binHexlified, abiContents, wallet); return factory.deployContract(options); }, }, - bytecode: binHexlified, }, ], }); @@ -142,22 +140,20 @@ describe('launchTestNode', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: { + factory: { deploy: async (wallet, options) => { const factory = new ContractFactory(binHexlified, abiContents, wallet); return factory.deployContract(options); }, }, - bytecode: binHexlified, }, { - deployer: { + factory: { deploy: async (wallet, options) => { const factory = new ContractFactory(binHexlified, abiContents, wallet); return factory.deployContract(options); }, }, - bytecode: binHexlified, }, ], }); @@ -183,22 +179,20 @@ describe('launchTestNode', () => { }, contractsConfigs: [ { - deployer: { + factory: { deploy: async (wallet, options) => { const factory = new ContractFactory(binHexlified, abiContents, wallet); return factory.deployContract(options); }, }, - bytecode: binHexlified, }, { - deployer: { + factory: { deploy: async (wallet, options) => { const factory = new ContractFactory(binHexlified, abiContents, wallet); return factory.deployContract(options); }, }, - bytecode: binHexlified, walletIndex: 1, }, ], @@ -228,13 +222,12 @@ describe('launchTestNode', () => { await launchTestNode({ contractsConfigs: [ { - deployer: { + factory: { deploy: async (wallet, options) => { const factory = new ContractFactory(binHexlified, abiContents, wallet); return factory.deployContract(options); }, }, - bytecode: binHexlified, walletIndex: 2, }, ], diff --git a/packages/contract/src/test-utils/launch-test-node.ts b/packages/contract/src/test-utils/launch-test-node.ts index dfb94891b86..20a0aab9d84 100644 --- a/packages/contract/src/test-utils/launch-test-node.ts +++ b/packages/contract/src/test-utils/launch-test-node.ts @@ -5,7 +5,6 @@ import type { SetupTestProviderAndWalletsReturn, } from '@fuel-ts/account/test-utils'; import { FuelError } from '@fuel-ts/errors'; -import type { BytesLike } from '@fuel-ts/interfaces'; import type { SnapshotConfigs } from '@fuel-ts/utils'; import { readFileSync } from 'fs'; import * as path from 'path'; @@ -13,7 +12,7 @@ import { mergeDeepRight } from 'ramda'; import type { DeployContractOptions, DeployContractResult } from '../contract-factory'; -export interface ContractDeployer { +export interface DeployableContractFactory { deploy(wallet: Account, options?: DeployContractOptions): Promise; } @@ -21,11 +20,7 @@ export interface DeployContractConfig { /** * Contract deployer object compatible with factories outputted by `pnpm fuels typegen`. */ - deployer: ContractDeployer; - /** - * Contract bytecode. It can be generated via `pnpm fuels typegen`. - */ - bytecode: BytesLike; + factory: DeployableContractFactory; /** * Options for contract deployment taken from `ContractFactory`. */ @@ -45,7 +40,7 @@ export interface LaunchTestNodeOptions = { [K in keyof T]: Awaited< - ReturnType>['waitForResult']> + ReturnType>['waitForResult']> >['contract']; }; export interface LaunchTestNodeReturn @@ -149,7 +144,7 @@ export async function launchTestNode { it('can get log data', async () => { using advancedLogContract = await launchTestContract({ deployer: AdvancedLoggingFactoryFactory, - bytecode: AdvancedLoggingFactory.bytecode, + }); ``; const { waitForResult } = await advancedLogContract.functions.test_function().call(); @@ -72,7 +72,7 @@ describe('Advanced Logging', () => { it('can get log data from require [condition=true]', async () => { using advancedLogContract = await launchTestContract({ deployer: AdvancedLoggingFactory, - bytecode: AdvancedLoggingFactory.bytecode, + }); const { waitForResult } = await advancedLogContract.functions @@ -88,7 +88,7 @@ describe('Advanced Logging', () => { it('can get log data from require [condition=false]', async () => { using advancedLogContract = await launchTestContract({ deployer: AdvancedLoggingFactory, - bytecode: AdvancedLoggingFactory.bytecode, + }); const invocation = advancedLogContract.functions.test_function_with_require(1, 3); @@ -125,7 +125,7 @@ describe('Advanced Logging', () => { { deployer: AdvancedLogging, bytecode: AdvancedLogging.bytecode }Factory, { deployer: AdvancedLoggingOtherContractFactory, - bytecode: AdvancedLoggingOtherContractFactory.bytecode, + }, ], }); @@ -173,7 +173,7 @@ describe('Advanced Logging', () => { { deployer: AdvancedLogging, bytecode: AdvancedLogging.bytecode }Factory, { deployer: AdvancedLoggingOtherContractFactory, - bytecode: AdvancedLoggingOtherContractFactory.bytecode, + }, { deployer: CallTestContract, bytecode: CallTestContract.bytecode }Factory, { deployer: ConfigurableContract, bytecode: ConfigurableContract.bytecode }Factory, @@ -215,7 +215,7 @@ describe('Advanced Logging', () => { { deployer: AdvancedLogging, bytecode: AdvancedLogging.bytecode }Factory, { deployer: AdvancedLoggingOtherContractFactory, - bytecode: AdvancedLoggingOtherContractFactory.bytecode, + }, { deployer: CallTestContract, bytecode: CallTestContract.bytecode }Factory, { deployer: ConfigurableContract, bytecode: ConfigurableContract.bytecode }Factory, @@ -287,7 +287,7 @@ describe('Advanced Logging', () => { { deployer: AdvancedLogging, bytecode: AdvancedLogging.bytecode }Factory, { deployer: AdvancedLoggingOtherContractFactory, - bytecode: AdvancedLoggingOtherContractFactory.bytecode, + }, ], }); @@ -315,7 +315,7 @@ describe('Advanced Logging', () => { { deployer: AdvancedLogging, bytecode: AdvancedLogging.bytecode }Factory, { deployer: AdvancedLoggingOtherContractFactory, - bytecode: AdvancedLoggingOtherContractFactory.bytecode, + }, ], }); diff --git a/packages/fuel-gauge/src/auth-testing.test.ts b/packages/fuel-gauge/src/auth-testing.test.ts index 6ed13a83b8e..53b0d73cb01 100644 --- a/packages/fuel-gauge/src/auth-testing.test.ts +++ b/packages/fuel-gauge/src/auth-testing.test.ts @@ -13,7 +13,6 @@ describe('Auth Testing', () => { it('can get is_caller_external', async () => { using contractInstance = await launchTestContract({ deployer: AuthTestingContractFactory, - bytecode: AuthTestingContractFactory.bytecode, }); const { waitForResult } = await contractInstance.functions.is_caller_external().call(); @@ -46,7 +45,6 @@ describe('Auth Testing', () => { it('can check_msg_sender [with incorrect id]', async () => { using contractInstance = await launchTestContract({ deployer: AuthTestingContractFactory, - bytecode: AuthTestingContractFactory.bytecode, }); await expect( diff --git a/packages/fuel-gauge/src/bytecode-sway-lib.test.ts b/packages/fuel-gauge/src/bytecode-sway-lib.test.ts index 425ca7093c8..cc6095bec00 100644 --- a/packages/fuel-gauge/src/bytecode-sway-lib.test.ts +++ b/packages/fuel-gauge/src/bytecode-sway-lib.test.ts @@ -15,7 +15,6 @@ describe('bytecode computations', () => { it('compute_bytecode_root', async () => { using contract = await launchTestContract({ deployer: BytecodeSwayLibAbiFactory, - bytecode: BytecodeSwayLibAbiFactory.bytecode, }); const { waitForResult } = await contract.functions @@ -33,7 +32,6 @@ describe('bytecode computations', () => { it('verify_contract_bytecode', async () => { using contract = await launchTestContract({ deployer: BytecodeSwayLibAbiFactory, - bytecode: BytecodeSwayLibAbiFactory.bytecode, }); const { waitForResult } = await contract.functions @@ -55,7 +53,6 @@ describe('bytecode computations', () => { contractsConfigs: [ { deployer: BytecodeSwayLibAbiFactory, - bytecode: BytecodeSwayLibAbiFactory.bytecode, }, ], }); diff --git a/packages/fuel-gauge/src/bytes.test.ts b/packages/fuel-gauge/src/bytes.test.ts index 82970e7e170..db31ba3f3d1 100644 --- a/packages/fuel-gauge/src/bytes.test.ts +++ b/packages/fuel-gauge/src/bytes.test.ts @@ -14,7 +14,6 @@ describe('Bytes Tests', () => { it('should test bytes output', async () => { using contractInstance = await launchTestContract({ deployer: BytesAbiFactory, - bytecode: BytesAbiFactory.bytecode, }); const { waitForResult } = await contractInstance.functions.return_bytes(10).call(); @@ -26,7 +25,6 @@ describe('Bytes Tests', () => { it('should test bytes output [100 items]', async () => { using contractInstance = await launchTestContract({ deployer: BytesAbiFactory, - bytecode: BytesAbiFactory.bytecode, }); const { waitForResult } = await contractInstance.functions.return_bytes(100).call(); @@ -38,7 +36,6 @@ describe('Bytes Tests', () => { it('should test bytes input', async () => { using contractInstance = await launchTestContract({ deployer: BytesAbiFactory, - bytecode: BytesAbiFactory.bytecode, }); const INPUT = [40, 41, 42]; @@ -52,7 +49,6 @@ describe('Bytes Tests', () => { it('should test bytes input [nested]', async () => { using contractInstance = await launchTestContract({ deployer: BytesAbiFactory, - bytecode: BytesAbiFactory.bytecode, }); const bytes = [40, 41, 42]; @@ -73,7 +69,6 @@ describe('Bytes Tests', () => { contractsConfigs: [ { deployer: BytesAbiFactory, - bytecode: BytesAbiFactory.bytecode, }, ], }); diff --git a/packages/fuel-gauge/src/configurable-contract.test.ts b/packages/fuel-gauge/src/configurable-contract.test.ts index a672a2ed0d8..fabdec46569 100644 --- a/packages/fuel-gauge/src/configurable-contract.test.ts +++ b/packages/fuel-gauge/src/configurable-contract.test.ts @@ -29,7 +29,7 @@ function setupContract(configurableConstants?: { [name: string]: unknown }) { contractsConfigs: [ { deployer: ConfigurableContractAbiFactory, - bytecode: ConfigurableContractAbiFactory.bytecode, + options: { configurableConstants }, }, ], diff --git a/packages/fuel-gauge/src/contract-factory.test.ts b/packages/fuel-gauge/src/contract-factory.test.ts index 6c9c2400232..12e15f78d7c 100644 --- a/packages/fuel-gauge/src/contract-factory.test.ts +++ b/packages/fuel-gauge/src/contract-factory.test.ts @@ -4,7 +4,7 @@ import { expectToThrowFuelError } from '@fuel-ts/errors/test-utils'; import { BN, bn, toHex, Interface, ContractFactory } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { StorageTestContractAbi } from '../test/typegen/contracts'; +import { StorageTestContract, StorageTestContractFactory } from '../test/typegen/contracts'; import { launchTestContract } from './utils'; @@ -15,8 +15,7 @@ import { launchTestContract } from './utils'; describe('Contract Factory', () => { it('Creates a factory from inputs that can return call results', async () => { using contract = await launchTestContract({ - deployer: StorageTestContractAbiFactory, - bytecode: StorageTestContractAbiFactory.bytecode, + factory: StorageTestContractFactory, }); expect(contract.interface).toBeInstanceOf(Interface); @@ -36,8 +35,7 @@ describe('Contract Factory', () => { it('Creates a factory from inputs that can return transaction results', async () => { using contract = await launchTestContract({ - deployer: StorageTestContractAbiFactory, - bytecode: StorageTestContractAbiFactory.bytecode, + factory: StorageTestContractFactory, }); expect(contract.interface).toBeInstanceOf(Interface); @@ -84,8 +82,7 @@ describe('Contract Factory', () => { it('Creates a factory from inputs that can prepare call data', async () => { using contract = await launchTestContract({ - deployer: StorageTestContractAbiFactory, - bytecode: StorageTestContractAbiFactory.bytecode, + factory: StorageTestContractFactory, }); const prepared = contract.functions.increment_counter(1).getCallConfig(); @@ -108,8 +105,8 @@ describe('Contract Factory', () => { const setFee = bn(120_000); const factory = new ContractFactory( - StorageTestContractAbiFactory.bytecode, - StorageTestContractAbi.abi, + StorageTestContractFactory.bytecode, + StorageTestContract.abi, wallet ); const spy = vi.spyOn(factory.account as Account, 'sendTransaction'); @@ -127,9 +124,9 @@ describe('Contract Factory', () => { it('Creates a contract with initial storage fixed var names', async () => { using contract = await launchTestContract({ - deployer: StorageTestContractAbiFactory, - bytecode: StorageTestContractAbiFactory.bytecode, - storageSlots: StorageTestContractAbi.storageSlots, + factory: StorageTestContractFactory, + + storageSlots: StorageTestContract.storageSlots, }); const call1 = await contract.functions.return_var1().call(); @@ -165,8 +162,8 @@ describe('Contract Factory', () => { } = launched; const factory = new ContractFactory( - StorageTestContractAbiFactory.bytecode, - StorageTestContractAbi.abi, + StorageTestContractFactory.bytecode, + StorageTestContract.abi, wallet ); const b256 = '0x626f0c36909faecc316056fca8be684ab0cd06afc63247dc008bdf9e433f927a'; @@ -189,15 +186,15 @@ describe('Contract Factory', () => { } = launched; const factory = new ContractFactory( - StorageTestContractAbiFactory.bytecode, - StorageTestContractAbi.abi, + StorageTestContractFactory.bytecode, + StorageTestContract.abi, wallet ); const b256 = '0x626f0c36909faecc316056fca8be684ab0cd06afc63247dc008bdf9e433f927a'; const { waitForResult } = await factory.deployContract({ storageSlots: [ - ...StorageTestContractAbi.storageSlots, // initializing from storage_slots.json + ...StorageTestContract.storageSlots, // initializing from storage_slots.json { key: '0000000000000000000000000000000000000000000000000000000000000001', value: b256 }, // Initializing manual value ], }); @@ -234,8 +231,8 @@ describe('Contract Factory', () => { it('should throws if calls createTransactionRequest is called when provider is not set', async () => { const factory = new ContractFactory( - StorageTestContractAbiFactory.bytecode, - StorageTestContractAbi.abi + StorageTestContractFactory.bytecode, + StorageTestContract.abi ); await expectToThrowFuelError( diff --git a/packages/fuel-gauge/src/contract.test.ts b/packages/fuel-gauge/src/contract.test.ts index f50ea003a8c..88f31500b44 100644 --- a/packages/fuel-gauge/src/contract.test.ts +++ b/packages/fuel-gauge/src/contract.test.ts @@ -20,7 +20,6 @@ import { expectToThrowFuelError, ASSET_A, ASSET_B, launchTestNode } from 'fuels/ import type { DeployContractConfig } from 'fuels/test-utils'; import { CallTestContractAbi, StorageTestContractAbi } from '../test/typegen/contracts'; - import { Predicate } from '../test/typegen/predicates/factories/Predicate'; import { launchTestContract } from './utils'; @@ -28,11 +27,9 @@ import { launchTestContract } from './utils'; const contractsConfigs: DeployContractConfig[] = [ { deployer: CallTestContractAbiFactory, - bytecode: CallTestContractAbiFactory.bytecode, }, { deployer: CallTestContractAbiFactory, - bytecode: CallTestContractAbiFactory.bytecode, }, ]; @@ -159,7 +156,6 @@ const AltToken = '0x010101010101010101010101010101010101010101010101010101010101 function setupTestContract() { return launchTestContract({ deployer: CallTestContractAbiFactory, - bytecode: CallTestContractAbiFactory.bytecode, }); } @@ -925,7 +921,6 @@ describe('Contract', () => { const amountToPredicate = 500_000; const predicate = new Predicate({ - bytecode: PredicateFactory.bytecode, provider, }); @@ -1205,7 +1200,6 @@ describe('Contract', () => { contractsConfigs: [ { deployer: StorageTestContractAbiFactory, - bytecode: StorageTestContractAbiFactory.bytecode, }, ], }); diff --git a/packages/fuel-gauge/src/coverage-contract.test.ts b/packages/fuel-gauge/src/coverage-contract.test.ts index 3d74960a8fe..e05e80368c7 100644 --- a/packages/fuel-gauge/src/coverage-contract.test.ts +++ b/packages/fuel-gauge/src/coverage-contract.test.ts @@ -37,7 +37,6 @@ enum MixedNativeEnum { function setupContract() { return launchTestContract({ deployer: CoverageContractAbiFactory, - bytecode: CoverageContractAbiFactory.bytecode, }); } diff --git a/packages/fuel-gauge/src/doc-examples.test.ts b/packages/fuel-gauge/src/doc-examples.test.ts index 11b18df3f84..4ccc9427040 100644 --- a/packages/fuel-gauge/src/doc-examples.test.ts +++ b/packages/fuel-gauge/src/doc-examples.test.ts @@ -242,7 +242,6 @@ describe('Doc Examples', () => { using launched = await launchTestNode(); const { provider } = launched; const predicate = new Predicate({ - bytecode: PredicateFactory.bytecode, provider, }); diff --git a/packages/fuel-gauge/src/dry-run-multiple-txs.test.ts b/packages/fuel-gauge/src/dry-run-multiple-txs.test.ts index da39d566ff4..b288078f614 100644 --- a/packages/fuel-gauge/src/dry-run-multiple-txs.test.ts +++ b/packages/fuel-gauge/src/dry-run-multiple-txs.test.ts @@ -24,7 +24,6 @@ describe('dry-run-multiple-txs', () => { contractsConfigs: [ { deployer: RevertErrorAbiFactory, - bytecode: RevertErrorAbiFactory.bytecode, }, ], }); @@ -122,19 +121,15 @@ describe('dry-run-multiple-txs', () => { contractsConfigs: [ { deployer: RevertErrorAbiFactory, - bytecode: RevertErrorAbiFactory.bytecode, }, { deployer: MultiTokenContractAbiFactory, - bytecode: MultiTokenAbiFactory.bytecode, }, { deployer: AdvancedLoggingAbiFactory, - bytecode: AdvancedLoggingAbiFactory.bytecode, }, { deployer: AdvancedLoggingOtherContractAbiFactory, - bytecode: AdvancedLoggingOtherContractAbiFactory.bytecode, }, ], }); diff --git a/packages/fuel-gauge/src/edge-cases.test.ts b/packages/fuel-gauge/src/edge-cases.test.ts index fbfeb4fb602..1ebfa89bfbe 100644 --- a/packages/fuel-gauge/src/edge-cases.test.ts +++ b/packages/fuel-gauge/src/edge-cases.test.ts @@ -13,7 +13,6 @@ describe('Edge Cases', () => { it('can run collision_in_fn_names', async () => { using contractInstance = await launchTestContract({ deployer: CollisionInFnNamesAbiFactory, - bytecode: CollisionInFnNamesAbiFactory.bytecode, }); const { waitForResult } = await contractInstance.functions.new().call(); diff --git a/packages/fuel-gauge/src/fee.test.ts b/packages/fuel-gauge/src/fee.test.ts index 026ced28b69..5911906736e 100644 --- a/packages/fuel-gauge/src/fee.test.ts +++ b/packages/fuel-gauge/src/fee.test.ts @@ -3,7 +3,6 @@ import type { BN } from 'fuels'; import { launchTestNode, ASSET_A, ASSET_B, expectToBeInRange } from 'fuels/test-utils'; import { CallTestContractAbi, MultiTokenContractAbi } from '../test/typegen/contracts'; - import { PredicateU32Abi } from '../test/typegen/predicates/factories/PredicateU32Abi'; /** @@ -33,7 +32,6 @@ describe('Fee', () => { contractsConfigs: [ { deployer: MultiTokenContractAbiFactory, - bytecode: MultiTokenContractAbiFactory.bytecode, }, ], }); @@ -193,7 +191,6 @@ describe('Fee', () => { contractsConfigs: [ { deployer: CallTestContractAbiFactory, - bytecode: CallTestContractAbiFactory.bytecode, }, ], }); @@ -226,7 +223,6 @@ describe('Fee', () => { contractsConfigs: [ { deployer: CallTestContractAbiFactory, - bytecode: CallTestContractAbiFactory.bytecode, }, ], }); @@ -266,7 +262,6 @@ describe('Fee', () => { contractsConfigs: [ { deployer: MultiTokenContractAbiFactory, - bytecode: MultiTokenContractAbiFactory.bytecode, }, ], }); diff --git a/packages/fuel-gauge/src/generic-types-contract.test.ts b/packages/fuel-gauge/src/generic-types-contract.test.ts index 9b699754452..959315a872b 100644 --- a/packages/fuel-gauge/src/generic-types-contract.test.ts +++ b/packages/fuel-gauge/src/generic-types-contract.test.ts @@ -11,7 +11,6 @@ describe('GenericTypesContract', () => { it('should call complex contract function with generic type', async () => { using contract = await launchTestContract({ deployer: GenericTypesContractAbiFactory, - bytecode: GenericTypesContractAbiFactory.bytecode, }); const b256 = '0xd5579c46dfcc7f18207013e65b44e4cb4e2c2298f4ac457ba8f82743f31e930b'; diff --git a/packages/fuel-gauge/src/is-function-readonly.test.ts b/packages/fuel-gauge/src/is-function-readonly.test.ts index 33e35d53cb8..06c02703935 100644 --- a/packages/fuel-gauge/src/is-function-readonly.test.ts +++ b/packages/fuel-gauge/src/is-function-readonly.test.ts @@ -5,7 +5,6 @@ import { launchTestContract } from './utils'; function setupContract() { return launchTestContract({ deployer: StorageTestContractAbiFactory, - bytecode: StorageTestContractAbiFactory.bytecode, }); } /** diff --git a/packages/fuel-gauge/src/multi-token-contract.test.ts b/packages/fuel-gauge/src/multi-token-contract.test.ts index 07cbfbe25a4..2d4b0404d47 100644 --- a/packages/fuel-gauge/src/multi-token-contract.test.ts +++ b/packages/fuel-gauge/src/multi-token-contract.test.ts @@ -2,7 +2,7 @@ import type { BN } from 'fuels'; import { Wallet, bn } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { MultiTokenContractAbi } from '../test/typegen/contracts'; +import { MultiTokenContractFactory } from '../test/typegen/contracts'; // hardcoded subIds on MultiTokenContract const subIds = [ @@ -20,8 +20,7 @@ describe('MultiTokenContract', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: MultiTokenContractAbiFactory, - bytecode: binHexlified, + factory: MultiTokenContractFactory, }, ], }); @@ -113,8 +112,7 @@ describe('MultiTokenContract', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: MultiTokenContractAbiFactory, - bytecode: binHexlified, + factory: MultiTokenContractFactory, }, ], }); diff --git a/packages/fuel-gauge/src/options.test.ts b/packages/fuel-gauge/src/options.test.ts index 7dacd0d4172..dda90927733 100644 --- a/packages/fuel-gauge/src/options.test.ts +++ b/packages/fuel-gauge/src/options.test.ts @@ -10,7 +10,6 @@ const U32_MAX = 4294967295; function launchOptionsContract() { return launchTestContract({ - bytecode: OptionsAbiFactory.bytecode, deployer: OptionsAbiFactory, }); } @@ -205,7 +204,6 @@ describe('Options Tests', () => { contractsConfigs: [ { deployer: OptionsAbiFactory, - bytecode: OptionsAbiFactory.bytecode, }, ], }); diff --git a/packages/fuel-gauge/src/payable-annotation.test.ts b/packages/fuel-gauge/src/payable-annotation.test.ts index aa22c5e7309..5df2550e182 100644 --- a/packages/fuel-gauge/src/payable-annotation.test.ts +++ b/packages/fuel-gauge/src/payable-annotation.test.ts @@ -6,7 +6,6 @@ import { launchTestContract } from './utils'; function launchPayableContract() { return launchTestContract({ - bytecode: PayableAnnotationAbiFactory.bytecode, deployer: PayableAnnotationAbiFactory, }); } diff --git a/packages/fuel-gauge/src/policies.test.ts b/packages/fuel-gauge/src/policies.test.ts index 41f53a9e82f..81aec957920 100644 --- a/packages/fuel-gauge/src/policies.test.ts +++ b/packages/fuel-gauge/src/policies.test.ts @@ -190,7 +190,6 @@ describe('Policies', () => { contractsConfigs: [ { deployer: PayableAnnotationAbiFactory, - bytecode: PayableAnnotationAbiFactory.bytecode, }, ], }); @@ -291,7 +290,6 @@ describe('Policies', () => { contractsConfigs: [ { deployer: PayableAnnotationAbiFactory, - bytecode: PayableAnnotationAbiFactory.bytecode, }, ], }); @@ -384,7 +382,6 @@ describe('Policies', () => { contractsConfigs: [ { deployer: PayableAnnotationAbiFactory, - bytecode: PayableAnnotationAbiFactory.bytecode, }, ], }); @@ -467,7 +464,6 @@ describe('Policies', () => { contractsConfigs: [ { deployer: PayableAnnotationAbiFactory, - bytecode: PayableAnnotationAbiFactory.bytecode, }, ], }); diff --git a/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts b/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts index fbe18ff7d49..32ca0bd8210 100644 --- a/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts @@ -27,7 +27,6 @@ describe('Predicate', () => { } = launched; const predicate = new Predicate({ - bytecode: PredicateWithConfigurableFactory.bytecode, abi: PredicateWithConfigurableAbi.abi, provider: wallet.provider, inputData: [defaultValues.FEE, defaultValues.ADDRESS], // set predicate input data to be the same as default configurable value @@ -70,7 +69,6 @@ describe('Predicate', () => { expect(configurableConstants.FEE).not.toEqual(defaultValues.FEE); const predicate = new Predicate({ - bytecode: PredicateWithConfigurableFactory.bytecode, abi: PredicateWithConfigurableAbi.abi, provider, inputData: [configurableConstants.FEE, defaultValues.ADDRESS], @@ -115,7 +113,6 @@ describe('Predicate', () => { expect(configurableConstants.ADDRESS).not.toEqual(defaultValues.ADDRESS); const predicate = new Predicate({ - bytecode: PredicateWithConfigurableFactory.bytecode, abi: PredicateWithConfigurableAbi.abi, provider, inputData: [defaultValues.FEE, configurableConstants.ADDRESS], @@ -164,7 +161,6 @@ describe('Predicate', () => { expect(configurableConstants.FEE).not.toEqual(defaultValues.FEE); expect(configurableConstants.ADDRESS).not.toEqual(defaultValues.ADDRESS); const predicate = new Predicate({ - bytecode: PredicateWithConfigurableFactory.bytecode, abi: PredicateWithConfigurableAbi.abi, provider, inputData: [configurableConstants.FEE, configurableConstants.ADDRESS], @@ -204,7 +200,6 @@ describe('Predicate', () => { } = launched; const predicate = new Predicate({ - bytecode: PredicateWithConfigurableFactory.bytecode, abi: PredicateWithConfigurableAbi.abi, provider, }); @@ -228,7 +223,6 @@ describe('Predicate', () => { expect(() => { // eslint-disable-next-line @typescript-eslint/no-unused-vars const predicate = new Predicate({ - bytecode: PredicateFactory.bytecode, abi: Predicate.abi, provider, inputData: ['NADA'], @@ -249,7 +243,6 @@ describe('Predicate', () => { expect(() => { // eslint-disable-next-line @typescript-eslint/no-unused-vars const predicate = new Predicate({ - bytecode: PredicateWithConfigurableFactory.bytecode, abi: PredicateWithConfigurableAbi.abi, provider, inputData: ['NADA'], @@ -269,7 +262,6 @@ describe('Predicate', () => { expect(() => { // eslint-disable-next-line @typescript-eslint/no-unused-vars const predicate = new Predicate({ - bytecode: PredicateWithConfigurableFactory.bytecode, provider, inputData: ['NADA'], configurableConstants: { diff --git a/packages/fuel-gauge/src/predicate/predicate-estimations.test.ts b/packages/fuel-gauge/src/predicate/predicate-estimations.test.ts index 68bfcef5f5f..69eae4eb3e4 100644 --- a/packages/fuel-gauge/src/predicate/predicate-estimations.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-estimations.test.ts @@ -137,7 +137,6 @@ describe('Predicate', () => { const tx = new ScriptTransactionRequest(); const predicateTrue = new Predicate({ - bytecode: PredicateFactory.bytecode, provider, }); @@ -163,12 +162,10 @@ describe('Predicate', () => { } = launched; const predicateTrue = new Predicate({ - bytecode: PredicateFactory.bytecode, provider, }); const predicateStruct = new Predicate<[Validation]>({ - bytecode: PredicateMainArgsStructFactory.bytecode, abi: PredicateMainArgsStruct.abi, provider, }); @@ -210,7 +207,6 @@ describe('Predicate', () => { const amountToPredicate = 200_000; const predicateValidateTransfer = new Predicate<[BN]>({ - bytecode: PredicateValidateTransferFactory.bytecode, abi: PredicateValidateTransfer.abi, provider, inputData: [bn(amountToPredicate)], @@ -253,7 +249,6 @@ describe('Predicate', () => { } = launched; const predicateStruct = new Predicate<[Validation]>({ - bytecode: PredicateMainArgsStructFactory.bytecode, abi: PredicateMainArgsStruct.abi, provider, }); @@ -287,7 +282,6 @@ describe('Predicate', () => { } = launched; const predicateStruct = new Predicate<[Validation]>({ - bytecode: PredicateMainArgsStructFactory.bytecode, abi: PredicateMainArgsStruct.abi, provider, }); diff --git a/packages/fuel-gauge/src/predicate/predicate-general.test.ts b/packages/fuel-gauge/src/predicate/predicate-general.test.ts index 242bdd5255b..aa7715e66c9 100644 --- a/packages/fuel-gauge/src/predicate/predicate-general.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-general.test.ts @@ -29,7 +29,6 @@ describe('Predicate', () => { const value1 = bn(100); const predicate = new Predicate<[BN, BN]>({ - bytecode: PredicateSumFactory.bytecode, abi: PredicateSumAbi.abi, provider, inputData: [value1, value2], diff --git a/packages/fuel-gauge/src/predicate/predicate-input-data.test.ts b/packages/fuel-gauge/src/predicate/predicate-input-data.test.ts index 5aa84e4fbf7..f2cbe8f2cdc 100644 --- a/packages/fuel-gauge/src/predicate/predicate-input-data.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-input-data.test.ts @@ -23,7 +23,6 @@ describe('Predicate', () => { const amountToReceiver = 50; const predicate = new Predicate({ - bytecode: PredicateInputDataFactory.bytecode, abi: PredicateInputDataAbi.abi, provider, inputData: [true], diff --git a/packages/fuel-gauge/src/predicate/predicate-invalidations.test.ts b/packages/fuel-gauge/src/predicate/predicate-invalidations.test.ts index b3374dcae95..81818323960 100644 --- a/packages/fuel-gauge/src/predicate/predicate-invalidations.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-invalidations.test.ts @@ -20,7 +20,6 @@ describe('Predicate', () => { } = launched; const predicate = new Predicate<[Validation]>({ - bytecode: PredicateMainArgsStructFactory.bytecode, abi: PredicateMainArgsStructAbi.abi, provider, }); @@ -49,7 +48,6 @@ describe('Predicate', () => { } = launched; const predicate = new Predicate<[Validation]>({ - bytecode: PredicateMainArgsStructFactory.bytecode, abi: PredicateMainArgsStructAbi.abi, provider, }); diff --git a/packages/fuel-gauge/src/predicate/predicate-populate-witness.test.ts b/packages/fuel-gauge/src/predicate/predicate-populate-witness.test.ts index bae6463224b..6390b93524d 100644 --- a/packages/fuel-gauge/src/predicate/predicate-populate-witness.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-populate-witness.test.ts @@ -40,7 +40,6 @@ describe('Predicate', () => { const quantity: CoinQuantityLike[] = [[500, provider.getBaseAssetId()]]; const predicateAssertNumber = new Predicate<[number]>({ - bytecode: PredicateAssertNumberFactory.bytecode, abi: PredicateAssertNumberAbi.abi, provider, inputData: [11], @@ -95,7 +94,6 @@ describe('Predicate', () => { transactionRequest.addCoinOutput(receiver.address, 100, provider.getBaseAssetId()); const predicateAssertNumber = new Predicate<[number]>({ - bytecode: PredicateAssertNumberFactory.bytecode, abi: PredicateAssertNumberAbi.abi, provider, inputData: [11], @@ -150,7 +148,6 @@ describe('Predicate', () => { const quantity: CoinQuantityLike[] = [[500, provider.getBaseAssetId()]]; const predicateAssertNumber = new Predicate<[number]>({ - bytecode: PredicateAssertNumberFactory.bytecode, abi: PredicateAssertNumberAbi.abi, provider, inputData: [11], @@ -228,7 +225,6 @@ describe('Predicate', () => { const resources3 = await wallet3.getResourcesToSpend(quantity); const predicateAssertNumber = new Predicate<[number]>({ - bytecode: PredicateAssertNumberFactory.bytecode, abi: PredicateAssertNumberAbi.abi, provider, inputData: [11], @@ -237,7 +233,6 @@ describe('Predicate', () => { await fundPredicate(fundingWallet, predicateAssertNumber, 500_000, UTXOS_AMOUNT); const predicateAssertValue = new Predicate<[boolean]>({ - bytecode: PredicateAssertValueFactory.bytecode, abi: PredicateAssertValueAbi.abi, provider, inputData: [true], @@ -319,7 +314,6 @@ describe('Predicate', () => { let transactionRequest = new ScriptTransactionRequest({ gasLimit: 2000, maxFee: bn(0) }); const predicateAssertNumber = new Predicate<[number]>({ - bytecode: PredicateAssertNumberFactory.bytecode, abi: PredicateAssertNumberAbi.abi, provider, inputData: [11], @@ -328,7 +322,6 @@ describe('Predicate', () => { await fundPredicate(fundingWallet, predicateAssertNumber, 500_000, UTXOS_AMOUNT); const predicateAssertValue = new Predicate<[boolean]>({ - bytecode: PredicateAssertValueFactory.bytecode, abi: PredicateAssertValueAbi.abi, provider, inputData: [true], @@ -405,7 +398,6 @@ describe('Predicate', () => { const resources3 = await wallet3.getResourcesToSpend(quantity); const predicateAssertNumber = new Predicate<[number]>({ - bytecode: PredicateAssertNumberFactory.bytecode, abi: PredicateAssertNumberAbi.abi, provider, inputData: [11], @@ -423,7 +415,6 @@ describe('Predicate', () => { ); const predicateAssertValue = new Predicate<[boolean]>({ - bytecode: PredicateAssertValueFactory.bytecode, abi: PredicateAssertValueAbi.abi, provider, inputData: [true], diff --git a/packages/fuel-gauge/src/predicate/predicate-with-script.test.ts b/packages/fuel-gauge/src/predicate/predicate-with-script.test.ts index 6844ecb86f7..7d7cd9d9b9c 100644 --- a/packages/fuel-gauge/src/predicate/predicate-with-script.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-with-script.test.ts @@ -41,7 +41,6 @@ describe('Predicate', () => { const amountToPredicate = 900_000; const amountToReceiver = 100_000; const predicate = new Predicate<[Validation]>({ - bytecode: PredicateMainArgsStructFactory.bytecode, provider, abi: PredicateMainArgsStructAbi.abi, inputData: [ diff --git a/packages/fuel-gauge/src/raw-slice.test.ts b/packages/fuel-gauge/src/raw-slice.test.ts index f5522e4ee13..7529814fa96 100644 --- a/packages/fuel-gauge/src/raw-slice.test.ts +++ b/packages/fuel-gauge/src/raw-slice.test.ts @@ -4,7 +4,6 @@ import { launchTestNode } from 'fuels/test-utils'; import { ScriptRawSliceAbi } from '../test/typegen'; import { RawSliceAbi } from '../test/typegen/contracts'; - import { PredicateRawSliceAbi } from '../test/typegen/predicates'; import { launchTestContract } from './utils'; @@ -22,7 +21,6 @@ type Wrapper = { function setupRawSliceContract() { return launchTestContract({ deployer: RawSliceAbiFactory, - bytecode: RawSliceAbiFactory.bytecode, }); } /** @@ -93,7 +91,6 @@ describe('Raw Slice Tests', () => { }; const predicate = new Predicate({ - bytecode: PredicateRawSliceFactory.bytecode, abi: PredicateRawSliceAbi.abi, provider: wallet.provider, inputData: [INPUT], diff --git a/packages/fuel-gauge/src/reentrant-contract-calls.test.ts b/packages/fuel-gauge/src/reentrant-contract-calls.test.ts index 69c3ae7927a..a164d4594b7 100644 --- a/packages/fuel-gauge/src/reentrant-contract-calls.test.ts +++ b/packages/fuel-gauge/src/reentrant-contract-calls.test.ts @@ -17,11 +17,9 @@ describe('Reentrant Contract Calls', () => { contractsConfigs: [ { deployer: ReentrantFooAbiFactory, - bytecode: ReentrantFooAbiFactory.bytecode, }, { deployer: ReentrantBarAbiFactory, - bytecode: ReentrantBarAbiFactory.bytecode, }, ], }); @@ -70,11 +68,9 @@ describe('Reentrant Contract Calls', () => { contractsConfigs: [ { deployer: ReentrantFooAbiFactory, - bytecode: ReentrantFooAbiFactory.bytecode, }, { deployer: ReentrantBarAbiFactory, - bytecode: ReentrantBarAbiFactory.bytecode, }, ], }); diff --git a/packages/fuel-gauge/src/revert-error.test.ts b/packages/fuel-gauge/src/revert-error.test.ts index 78525812517..32ba3560903 100644 --- a/packages/fuel-gauge/src/revert-error.test.ts +++ b/packages/fuel-gauge/src/revert-error.test.ts @@ -4,14 +4,13 @@ import type { TransactionResultReceipt } from 'fuels'; import { bn, getRandomB256, ContractFactory } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { RevertErrorAbi, TokenContractAbi } from '../test/typegen/contracts'; +import { RevertErrorFactory, TokenContract, TokenContractFactory } from '../test/typegen'; import { launchTestContract } from './utils'; function launchContract() { return launchTestContract({ - deployer: RevertErrorAbiFactory, - bytecode: RevertErrorAbiFactory.bytecode, + factory: RevertErrorFactory, }); } @@ -197,11 +196,7 @@ describe('Revert Error Testing', () => { provider, } = launched; - const factory = new ContractFactory( - TokenContractAbiFactory.bytecode, - TokenContractAbi.abi, - wallet - ); + const factory = new ContractFactory(TokenContractFactory.bytecode, TokenContract.abi, wallet); const { waitForResult } = await factory.deployContract(); const { contract: tokenContract } = await waitForResult(); diff --git a/packages/fuel-gauge/src/std-lib-string.test.ts b/packages/fuel-gauge/src/std-lib-string.test.ts index 113598c9784..30ed3425f81 100644 --- a/packages/fuel-gauge/src/std-lib-string.test.ts +++ b/packages/fuel-gauge/src/std-lib-string.test.ts @@ -13,7 +13,6 @@ import { launchTestContract } from './utils'; function setupContract() { return launchTestContract({ deployer: StdLibStringFactory, - bytecode: StdLibStringFactory.bytecode, }); } @@ -52,7 +51,6 @@ describe('std-lib-string Tests', () => { const amountToReceiver = 50; type MainArgs = [number, number, string]; const predicate = new Predicate({ - bytecode: PredicateStdLibStringFactory.bytecode, abi: PredicateStdLibString.abi, provider, inputData: [1, 2, 'Hello World'], diff --git a/packages/fuel-gauge/src/str-slice.test.ts b/packages/fuel-gauge/src/str-slice.test.ts index e690880a97e..74be1e6a400 100644 --- a/packages/fuel-gauge/src/str-slice.test.ts +++ b/packages/fuel-gauge/src/str-slice.test.ts @@ -14,7 +14,6 @@ describe('str slice', () => { contractsConfigs: [ { deployer: StrSliceFactory, - bytecode: StrSliceFactory.bytecode, }, ], }); diff --git a/packages/fuel-gauge/src/token-test-contract.test.ts b/packages/fuel-gauge/src/token-test-contract.test.ts index d23cd466d94..cac9ed35a7f 100644 --- a/packages/fuel-gauge/src/token-test-contract.test.ts +++ b/packages/fuel-gauge/src/token-test-contract.test.ts @@ -17,7 +17,6 @@ describe('TokenTestContract', () => { contractsConfigs: [ { deployer: TokenContractFactory, - bytecode: TokenContractFactory.bytecode, }, ], }); @@ -67,7 +66,6 @@ describe('TokenTestContract', () => { contractsConfigs: [ { deployer: TokenContractFactory, - bytecode: TokenContractFactory.bytecode, }, ], walletsConfig: { @@ -142,7 +140,6 @@ describe('TokenTestContract', () => { contractsConfigs: [ { deployer: TokenContractFactory, - bytecode: TokenContractFactory.bytecode, }, ], }); @@ -182,7 +179,6 @@ describe('TokenTestContract', () => { contractsConfigs: [ { deployer: TokenContractFactory, - bytecode: TokenContractFactory.bytecode, }, ], }); diff --git a/packages/fuel-gauge/src/transaction-summary.test.ts b/packages/fuel-gauge/src/transaction-summary.test.ts index 8521efe7e3b..a41f6d618fa 100644 --- a/packages/fuel-gauge/src/transaction-summary.test.ts +++ b/packages/fuel-gauge/src/transaction-summary.test.ts @@ -248,7 +248,6 @@ describe('TransactionSummary', () => { contractsConfigs: [ { deployer: MultiTokenContractFactory, - bytecode: MultiTokenContractFactory.bytecode, }, ], }); @@ -280,7 +279,6 @@ describe('TransactionSummary', () => { contractsConfigs: [ { deployer: TokenContractFactory, - bytecode: TokenContractFactory.bytecode, }, ], }); @@ -322,7 +320,6 @@ describe('TransactionSummary', () => { contractsConfigs: [ { deployer: TokenContractFactory, - bytecode: TokenContractFactory.bytecode, }, ], }); @@ -401,11 +398,9 @@ describe('TransactionSummary', () => { contractsConfigs: [ { deployer: TokenContractFactory, - bytecode: TokenContractFactory.bytecode, }, { deployer: TokenContractFactory, - bytecode: TokenContractFactory.bytecode, }, ], }); @@ -450,15 +445,12 @@ describe('TransactionSummary', () => { contractsConfigs: [ { deployer: TokenContractFactory, - bytecode: TokenContractFactory.bytecode, }, { deployer: TokenContractFactory, - bytecode: TokenContractFactory.bytecode, }, { deployer: TokenContractFactory, - bytecode: TokenContractFactory.bytecode, }, ], }); diff --git a/packages/fuel-gauge/src/vector-types.test.ts b/packages/fuel-gauge/src/vector-types.test.ts index 86e7503866b..2d0db0c491b 100644 --- a/packages/fuel-gauge/src/vector-types.test.ts +++ b/packages/fuel-gauge/src/vector-types.test.ts @@ -83,7 +83,6 @@ describe('Vector Types Validation', () => { it('can use supported vector types [vector-types-contract]', async () => { using contractInstance = await launchTestContract({ deployer: VectorTypesContractFactory, - bytecode: VectorTypesContractFactory.bytecode, }); const { waitForResult } = await contractInstance.functions @@ -148,7 +147,6 @@ describe('Vector Types Validation', () => { const amountToPredicate = 300_000; const amountToReceiver = 50; const predicate = new Predicate({ - bytecode: PredicateVectorTypesFactory.bytecode, provider: wallet.provider, abi: PredicateVectorTypes.abi, inputData: [ diff --git a/packages/fuel-gauge/src/vectors.test.ts b/packages/fuel-gauge/src/vectors.test.ts index 5e4aca82a12..842b48f8ba6 100644 --- a/packages/fuel-gauge/src/vectors.test.ts +++ b/packages/fuel-gauge/src/vectors.test.ts @@ -14,7 +14,6 @@ enum SmallEnum { function setupContract() { return launchTestContract({ deployer: VectorsFactory, - bytecode: VectorsFactory.bytecode, }); } diff --git a/templates/nextjs/test/contract.test.ts b/templates/nextjs/test/contract.test.ts index a72e0bd300b..229e6240839 100644 --- a/templates/nextjs/test/contract.test.ts +++ b/templates/nextjs/test/contract.test.ts @@ -25,8 +25,7 @@ describe('Contract', () => { // because we are instantiating it with the `using` keyword. contractsConfigs: [ { - deployer: TestContractFactory, - bytecode: TestContractFactory.bytecode, + factory: TestContractFactory, }, ], }); From d1a525577d8e8755f8b585093ec9323c327aa99f Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Tue, 23 Jul 2024 09:48:38 -0300 Subject: [PATCH 25/95] Fixing and simplifying rendering of index files --- packages/abi-typegen/src/templates/common/index.hbs | 11 ++--------- packages/abi-typegen/src/templates/common/index.ts | 13 +++++++------ packages/abi-typegen/src/utils/assembleContracts.ts | 2 +- .../abi-typegen/src/utils/assemblePredicates.ts | 2 +- packages/abi-typegen/src/utils/assembleScripts.ts | 2 +- 5 files changed, 12 insertions(+), 18 deletions(-) diff --git a/packages/abi-typegen/src/templates/common/index.hbs b/packages/abi-typegen/src/templates/common/index.hbs index a63843faf7d..8c792cbffc7 100644 --- a/packages/abi-typegen/src/templates/common/index.hbs +++ b/packages/abi-typegen/src/templates/common/index.hbs @@ -1,12 +1,5 @@ {{header}} -{{#if isGeneratingContracts}} -{{#each abis}} -export * from './{{capitalizedName}}'; -export * from './{{capitalizedName}}Factory'; +{{#each members}} +export { {{this}} } from './{{this}}'; {{/each}} -{{else}} -{{#each abis}} -export * from './{{capitalizedName}}'; -{{/each}} -{{/if}} diff --git a/packages/abi-typegen/src/templates/common/index.ts b/packages/abi-typegen/src/templates/common/index.ts index e900ba32b24..e5b2fab5b9a 100644 --- a/packages/abi-typegen/src/templates/common/index.ts +++ b/packages/abi-typegen/src/templates/common/index.ts @@ -1,17 +1,18 @@ -import type { Abi } from '../../abi/Abi'; -import { ProgramTypeEnum } from '../../types/enums/ProgramTypeEnum'; +import type { IFile } from '../../types/interfaces/IFile'; import { renderHbsTemplate } from '../renderHbsTemplate'; import indexTemplate from './index.hbs'; -export function renderIndexTemplate(params: { abis: Abi[] }) { - const { abis } = params; +export function renderIndexTemplate(params: { files: IFile[] }) { + const { files } = params; - const isGeneratingContracts = abis[0].programType === ProgramTypeEnum.CONTRACT; + const members = files.map((f) => f.path.match(/([^/]+)\.ts$/m)?.[1]); const text = renderHbsTemplate({ template: indexTemplate, - data: { abis, isGeneratingContracts }, + data: { + members, + }, }); return text; diff --git a/packages/abi-typegen/src/utils/assembleContracts.ts b/packages/abi-typegen/src/utils/assembleContracts.ts index 4d8fdd3b964..09f4f90a43f 100644 --- a/packages/abi-typegen/src/utils/assembleContracts.ts +++ b/packages/abi-typegen/src/utils/assembleContracts.ts @@ -41,7 +41,7 @@ export function assembleContracts(params: { abis: Abi[]; outputDir: string }) { // Includes index file const indexFile: IFile = { path: `${outputDir}/index.ts`, - contents: renderIndexTemplate({ abis }), + contents: renderIndexTemplate({ files }), }; files.push(indexFile); diff --git a/packages/abi-typegen/src/utils/assemblePredicates.ts b/packages/abi-typegen/src/utils/assemblePredicates.ts index aff43e4809e..e6669b9d490 100644 --- a/packages/abi-typegen/src/utils/assemblePredicates.ts +++ b/packages/abi-typegen/src/utils/assemblePredicates.ts @@ -33,7 +33,7 @@ export function assemblePredicates(params: { abis: Abi[]; outputDir: string }) { // Includes index file const indexFile: IFile = { path: `${outputDir}/index.ts`, - contents: renderIndexTemplate({ abis }), + contents: renderIndexTemplate({ files }), }; files.push(indexFile); diff --git a/packages/abi-typegen/src/utils/assembleScripts.ts b/packages/abi-typegen/src/utils/assembleScripts.ts index 9d072b17c48..e2468ef38a5 100644 --- a/packages/abi-typegen/src/utils/assembleScripts.ts +++ b/packages/abi-typegen/src/utils/assembleScripts.ts @@ -33,7 +33,7 @@ export function assembleScripts(params: { abis: Abi[]; outputDir: string }) { // Includes index file const indexFile: IFile = { path: `${outputDir}/index.ts`, - contents: renderIndexTemplate({ abis }), + contents: renderIndexTemplate({ files }), }; files.push(indexFile); From 5e150f418622e43462a349f4abbbc030a177912e Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Tue, 23 Jul 2024 10:33:40 -0300 Subject: [PATCH 26/95] Adjusting gauge tests --- .../fuel-gauge/src/advanced-logging.test.ts | 73 +++++++------------ packages/fuel-gauge/src/auth-testing.test.ts | 6 +- .../fuel-gauge/src/bytecode-sway-lib.test.ts | 16 ++-- packages/fuel-gauge/src/bytes.test.ts | 18 ++--- .../fuel-gauge/src/call-test-contract.test.ts | 5 +- .../src/configurable-contract.test.ts | 4 +- packages/fuel-gauge/src/contract.test.ts | 34 +++++---- .../fuel-gauge/src/coverage-contract.test.ts | 4 +- packages/fuel-gauge/src/doc-examples.test.ts | 17 ++--- .../src/dry-run-multiple-txs.test.ts | 23 +++--- packages/fuel-gauge/src/edge-cases.test.ts | 4 +- packages/fuel-gauge/src/fee.test.ts | 22 +++--- .../src/generic-types-contract.test.ts | 4 +- .../src/is-function-readonly.test.ts | 4 +- packages/fuel-gauge/src/options.test.ts | 6 +- .../fuel-gauge/src/payable-annotation.test.ts | 4 +- packages/fuel-gauge/src/policies.test.ts | 26 +++---- .../predicate/predicate-with-contract.test.ts | 13 ++-- packages/fuel-gauge/src/raw-slice.test.ts | 13 ++-- .../src/reentrant-contract-calls.test.ts | 31 +++----- .../fuel-gauge/src/std-lib-string.test.ts | 7 +- packages/fuel-gauge/src/str-slice.test.ts | 16 ++-- .../src/token-test-contract.test.ts | 10 +-- .../src/transaction-summary.test.ts | 23 +++--- packages/fuel-gauge/src/vector-types.test.ts | 8 +- packages/fuel-gauge/src/vectors.test.ts | 2 +- 26 files changed, 179 insertions(+), 214 deletions(-) diff --git a/packages/fuel-gauge/src/advanced-logging.test.ts b/packages/fuel-gauge/src/advanced-logging.test.ts index 10dac978a70..52de8d8553f 100644 --- a/packages/fuel-gauge/src/advanced-logging.test.ts +++ b/packages/fuel-gauge/src/advanced-logging.test.ts @@ -2,15 +2,14 @@ import type { FuelError } from '@fuel-ts/errors'; import { Script, bn } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { ScriptCallContract } from '../test/typegen'; import { - AdvancedLogging, - AdvancedLoggingOtherContract, - CallTestContract, - ConfigurableContract, - CoverageContract, + AdvancedLoggingOtherContractFactory, AdvancedLoggingFactory, + CallTestContractFactory, + ConfigurableContractFactory, + CoverageContractFactory, } from '../test/typegen/contracts'; +import { ScriptCallContract } from '../test/typegen/scripts'; import { launchTestContract } from './utils'; @@ -21,10 +20,9 @@ import { launchTestContract } from './utils'; describe('Advanced Logging', () => { it('can get log data', async () => { using advancedLogContract = await launchTestContract({ - deployer: AdvancedLoggingFactoryFactory, - + factory: AdvancedLoggingFactory, }); - ``; + const { waitForResult } = await advancedLogContract.functions.test_function().call(); const { value, logs } = await waitForResult(); @@ -71,8 +69,7 @@ describe('Advanced Logging', () => { it('can get log data from require [condition=true]', async () => { using advancedLogContract = await launchTestContract({ - deployer: AdvancedLoggingFactory, - + factory: AdvancedLoggingFactory, }); const { waitForResult } = await advancedLogContract.functions @@ -87,8 +84,7 @@ describe('Advanced Logging', () => { it('can get log data from require [condition=false]', async () => { using advancedLogContract = await launchTestContract({ - deployer: AdvancedLoggingFactory, - + factory: AdvancedLoggingFactory, }); const invocation = advancedLogContract.functions.test_function_with_require(1, 3); @@ -122,11 +118,8 @@ describe('Advanced Logging', () => { it('can get log data from a downstream Contract', async () => { using launched = await launchTestNode({ contractsConfigs: [ - { deployer: AdvancedLogging, bytecode: AdvancedLogging.bytecode }Factory, - { - deployer: AdvancedLoggingOtherContractFactory, - - }, + { factory: AdvancedLoggingFactory }, + { factory: AdvancedLoggingOtherContractFactory }, ], }); @@ -170,14 +163,11 @@ describe('Advanced Logging', () => { it('when using InvacationScope', async () => { using launched = await launchTestNode({ contractsConfigs: [ - { deployer: AdvancedLogging, bytecode: AdvancedLogging.bytecode }Factory, - { - deployer: AdvancedLoggingOtherContractFactory, - - }, - { deployer: CallTestContract, bytecode: CallTestContract.bytecode }Factory, - { deployer: ConfigurableContract, bytecode: ConfigurableContract.bytecode }Factory, - { deployer: CoverageContract, bytecode: CoverageContract.bytecode }Factory, + { factory: AdvancedLoggingFactory }, + { factory: AdvancedLoggingOtherContractFactory }, + { factory: CallTestContractFactory }, + { factory: ConfigurableContractFactory }, + { factory: CoverageContractFactory }, ], }); @@ -212,14 +202,11 @@ describe('Advanced Logging', () => { it('when using ScriptTransactionRequest', async () => { using launched = await launchTestNode({ contractsConfigs: [ - { deployer: AdvancedLogging, bytecode: AdvancedLogging.bytecode }Factory, - { - deployer: AdvancedLoggingOtherContractFactory, - - }, - { deployer: CallTestContract, bytecode: CallTestContract.bytecode }Factory, - { deployer: ConfigurableContract, bytecode: ConfigurableContract.bytecode }Factory, - { deployer: CoverageContract, bytecode: CoverageContract.bytecode }Factory, + { factory: AdvancedLoggingFactory }, + { factory: AdvancedLoggingOtherContractFactory }, + { factory: CallTestContractFactory }, + { factory: ConfigurableContractFactory }, + { factory: CoverageContractFactory }, ], }); @@ -284,11 +271,8 @@ describe('Advanced Logging', () => { it('when using InvocationScope', async () => { using launched = await launchTestNode({ contractsConfigs: [ - { deployer: AdvancedLogging, bytecode: AdvancedLogging.bytecode }Factory, - { - deployer: AdvancedLoggingOtherContractFactory, - - }, + { factory: AdvancedLoggingFactory }, + { factory: AdvancedLoggingOtherContractFactory }, ], }); @@ -297,7 +281,7 @@ describe('Advanced Logging', () => { wallets: [wallet], } = launched; - const script = new Script(ScriptCallContractFactory.bytecode, ScriptCallContract.abi, wallet); + const script = new Script(ScriptCallContract.bytecode, ScriptCallContract.abi, wallet); const { waitForResult } = await script.functions .main(advancedLogContract.id.toB256(), otherAdvancedLogContract.id.toB256(), amount) @@ -312,11 +296,8 @@ describe('Advanced Logging', () => { it('when using ScriptTransactionRequest', async () => { using launched = await launchTestNode({ contractsConfigs: [ - { deployer: AdvancedLogging, bytecode: AdvancedLogging.bytecode }Factory, - { - deployer: AdvancedLoggingOtherContractFactory, - - }, + { factory: AdvancedLoggingFactory }, + { factory: AdvancedLoggingOtherContractFactory }, ], }); @@ -325,7 +306,7 @@ describe('Advanced Logging', () => { wallets: [wallet], } = launched; - const script = new Script(ScriptCallContractFactory.bytecode, ScriptCallContract.abi, wallet); + const script = new Script(ScriptCallContract.bytecode, ScriptCallContract.abi, wallet); const request = await script.functions .main(advancedLogContract.id.toB256(), otherAdvancedLogContract.id.toB256(), amount) diff --git a/packages/fuel-gauge/src/auth-testing.test.ts b/packages/fuel-gauge/src/auth-testing.test.ts index 53b0d73cb01..e06b721c732 100644 --- a/packages/fuel-gauge/src/auth-testing.test.ts +++ b/packages/fuel-gauge/src/auth-testing.test.ts @@ -12,7 +12,7 @@ import { launchTestContract } from './utils'; describe('Auth Testing', () => { it('can get is_caller_external', async () => { using contractInstance = await launchTestContract({ - deployer: AuthTestingContractFactory, + factory: AuthTestingContractFactory, }); const { waitForResult } = await contractInstance.functions.is_caller_external().call(); @@ -24,7 +24,7 @@ describe('Auth Testing', () => { it('can check_msg_sender [with correct id]', async () => { using launched = await launchTestNode({ contractsConfigs: [ - { deployer: AuthTestingContractFactory, bytecode: AuthTestingContractFactory.bytecode }, + { factory: AuthTestingContractFactory, bytecode: AuthTestingContractFactory.bytecode }, ], }); @@ -44,7 +44,7 @@ describe('Auth Testing', () => { it('can check_msg_sender [with incorrect id]', async () => { using contractInstance = await launchTestContract({ - deployer: AuthTestingContractFactory, + factory: AuthTestingContractFactory, }); await expect( diff --git a/packages/fuel-gauge/src/bytecode-sway-lib.test.ts b/packages/fuel-gauge/src/bytecode-sway-lib.test.ts index cc6095bec00..705bf2c0491 100644 --- a/packages/fuel-gauge/src/bytecode-sway-lib.test.ts +++ b/packages/fuel-gauge/src/bytecode-sway-lib.test.ts @@ -3,7 +3,7 @@ import { launchTestNode } from 'fuels/test-utils'; import { defaultPredicateAbi } from '../test/fixtures/abi/predicate'; import { defaultPredicateBytecode } from '../test/fixtures/bytecode/predicate'; -import { BytecodeSwayLibAbi } from '../test/typegen/contracts'; +import { BytecodeSwayLibFactory } from '../test/typegen/contracts'; import { launchTestContract } from './utils'; @@ -14,11 +14,11 @@ import { launchTestContract } from './utils'; describe('bytecode computations', () => { it('compute_bytecode_root', async () => { using contract = await launchTestContract({ - deployer: BytecodeSwayLibAbiFactory, + factory: BytecodeSwayLibFactory, }); const { waitForResult } = await contract.functions - .compute_bytecode_root(Array.from(arrayify(BytecodeSwayLibAbi.bytecode))) + .compute_bytecode_root(Array.from(arrayify(BytecodeSwayLibFactory.bytecode))) .call(); const { logs } = await waitForResult(); @@ -31,7 +31,7 @@ describe('bytecode computations', () => { it('verify_contract_bytecode', async () => { using contract = await launchTestContract({ - deployer: BytecodeSwayLibAbiFactory, + factory: BytecodeSwayLibFactory, }); const { waitForResult } = await contract.functions @@ -39,7 +39,7 @@ describe('bytecode computations', () => { { bits: contract.id.toB256(), }, - Array.from(arrayify(BytecodeSwayLibAbi.bytecode)) + Array.from(arrayify(BytecodeSwayLibFactory.bytecode)) ) .call(); @@ -50,11 +50,7 @@ describe('bytecode computations', () => { it('compute_predicate_address', async () => { using launched = await launchTestNode({ - contractsConfigs: [ - { - deployer: BytecodeSwayLibAbiFactory, - }, - ], + contractsConfigs: [{ factory: BytecodeSwayLibFactory }], }); const { diff --git a/packages/fuel-gauge/src/bytes.test.ts b/packages/fuel-gauge/src/bytes.test.ts index db31ba3f3d1..0899e11ffc7 100644 --- a/packages/fuel-gauge/src/bytes.test.ts +++ b/packages/fuel-gauge/src/bytes.test.ts @@ -1,8 +1,8 @@ import { bn, Wallet, Address } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { PredicateBytesAbi, ScriptBytesAbi } from '../test/typegen'; -import { BytesAbi } from '../test/typegen/contracts'; +import { PredicateBytes, ScriptBytes } from '../test/typegen'; +import { BytesFactory } from '../test/typegen/contracts'; import { launchTestContract } from './utils'; @@ -13,7 +13,7 @@ import { launchTestContract } from './utils'; describe('Bytes Tests', () => { it('should test bytes output', async () => { using contractInstance = await launchTestContract({ - deployer: BytesAbiFactory, + factory: BytesFactory, }); const { waitForResult } = await contractInstance.functions.return_bytes(10).call(); @@ -24,7 +24,7 @@ describe('Bytes Tests', () => { it('should test bytes output [100 items]', async () => { using contractInstance = await launchTestContract({ - deployer: BytesAbiFactory, + factory: BytesFactory, }); const { waitForResult } = await contractInstance.functions.return_bytes(100).call(); @@ -35,7 +35,7 @@ describe('Bytes Tests', () => { it('should test bytes input', async () => { using contractInstance = await launchTestContract({ - deployer: BytesAbiFactory, + factory: BytesFactory, }); const INPUT = [40, 41, 42]; @@ -48,7 +48,7 @@ describe('Bytes Tests', () => { it('should test bytes input [nested]', async () => { using contractInstance = await launchTestContract({ - deployer: BytesAbiFactory, + factory: BytesFactory, }); const bytes = [40, 41, 42]; @@ -68,7 +68,7 @@ describe('Bytes Tests', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: BytesAbiFactory, + factory: BytesFactory, }, ], }); @@ -83,7 +83,7 @@ describe('Bytes Tests', () => { const bytes = [40, 41, 42]; - const predicate = PredicateBytesAbi.createInstance(wallet.provider, [ + const predicate = new PredicateBytes(wallet.provider, [ { inner: [bytes, bytes], inner_enum: { Second: bytes }, @@ -132,7 +132,7 @@ describe('Bytes Tests', () => { const bytes = [40, 41, 42]; - const scriptInstance = ScriptBytesAbi.createInstance(wallet); + const scriptInstance = new ScriptBytes(wallet); const { waitForResult } = await scriptInstance.functions .main(1, { diff --git a/packages/fuel-gauge/src/call-test-contract.test.ts b/packages/fuel-gauge/src/call-test-contract.test.ts index 197e5c9dea4..ce59719ff39 100644 --- a/packages/fuel-gauge/src/call-test-contract.test.ts +++ b/packages/fuel-gauge/src/call-test-contract.test.ts @@ -2,12 +2,13 @@ import type { Contract } from 'fuels'; import { BN, bn, toHex } from 'fuels'; import { ASSET_A } from 'fuels/test-utils'; -import { CallTestContractAbi } from '../test/typegen/contracts'; +import { CallTestContractFactory } from '../test/typegen/contracts'; +import { bytecode } from '../test/typegen/contracts/AdvancedLoggingOtherContractFactory'; import { launchTestContract } from './utils'; function setupContract() { - return launchTestContract({ deployer: CallTestContractAbiFactory, bytecode }); + return launchTestContract({ factory: CallTestContractFactory, bytecode }); } const U64_MAX = bn(2).pow(64).sub(1); diff --git a/packages/fuel-gauge/src/configurable-contract.test.ts b/packages/fuel-gauge/src/configurable-contract.test.ts index fabdec46569..441b704f39a 100644 --- a/packages/fuel-gauge/src/configurable-contract.test.ts +++ b/packages/fuel-gauge/src/configurable-contract.test.ts @@ -1,7 +1,7 @@ import { BN, getRandomB256 } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { ConfigurableContractAbi } from '../test/typegen/contracts'; +import { ConfigurableContractAbi, ConfigurableContractFactory } from '../test/typegen/contracts'; const defaultValues = { U8: 10, @@ -28,7 +28,7 @@ function setupContract(configurableConstants?: { [name: string]: unknown }) { return launchTestNode({ contractsConfigs: [ { - deployer: ConfigurableContractAbiFactory, + factory: ConfigurableContractFactory, options: { configurableConstants }, }, diff --git a/packages/fuel-gauge/src/contract.test.ts b/packages/fuel-gauge/src/contract.test.ts index 88f31500b44..c8d7365d23b 100644 --- a/packages/fuel-gauge/src/contract.test.ts +++ b/packages/fuel-gauge/src/contract.test.ts @@ -19,17 +19,22 @@ import type { JsonAbi, ScriptTransactionRequest, TransferParams } from 'fuels'; import { expectToThrowFuelError, ASSET_A, ASSET_B, launchTestNode } from 'fuels/test-utils'; import type { DeployContractConfig } from 'fuels/test-utils'; -import { CallTestContractAbi, StorageTestContractAbi } from '../test/typegen/contracts'; -import { Predicate } from '../test/typegen/predicates/factories/Predicate'; +import { + CallTestContract, + CallTestContractFactory, + StorageTestContract, + StorageTestContractFactory, +} from '../test/typegen/contracts'; +import { PredicateTrue } from '../test/typegen/predicates/PredicateTrue'; import { launchTestContract } from './utils'; const contractsConfigs: DeployContractConfig[] = [ { - deployer: CallTestContractAbiFactory, + factory: CallTestContractFactory, }, { - deployer: CallTestContractAbiFactory, + factory: CallTestContractFactory, }, ]; @@ -155,7 +160,7 @@ const AltToken = '0x010101010101010101010101010101010101010101010101010101010101 function setupTestContract() { return launchTestContract({ - deployer: CallTestContractAbiFactory, + factory: CallTestContractFactory, }); } @@ -736,8 +741,8 @@ describe('Contract', () => { } = launched; const contract = new ContractFactory( - StorageTestContractAbiFactory.bytecode, - StorageTestContractAbi.abi, + StorageTestContractFactory.bytecode, + StorageTestContract.abi, wallet ); const { transactionRequest } = contract.createTransactionRequest(); @@ -921,6 +926,7 @@ describe('Contract', () => { const amountToPredicate = 500_000; const predicate = new Predicate({ + bytecode: PredicateTrue.bytecode, provider, }); @@ -989,8 +995,8 @@ describe('Contract', () => { } = launched; const factory = new ContractFactory( - CallTestContractAbiFactory.bytecode, - CallTestContractAbi.abi, + CallTestContractFactory.bytecode, + CallTestContract.abi, wallet ); @@ -1035,8 +1041,8 @@ describe('Contract', () => { } = launched; const factory = new ContractFactory( - CallTestContractAbiFactory.bytecode, - CallTestContractAbi.abi, + CallTestContractFactory.bytecode, + CallTestContract.abi, wallet ); @@ -1168,8 +1174,8 @@ describe('Contract', () => { } = launched; const factory = new ContractFactory( - StorageTestContractAbiFactory.bytecode, - StorageTestContractAbi.abi, + StorageTestContractFactory.bytecode, + StorageTestContract.abi, wallet ); @@ -1199,7 +1205,7 @@ describe('Contract', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: StorageTestContractAbiFactory, + factory: StorageTestContractFactory, }, ], }); diff --git a/packages/fuel-gauge/src/coverage-contract.test.ts b/packages/fuel-gauge/src/coverage-contract.test.ts index e05e80368c7..cf1a7da6b2c 100644 --- a/packages/fuel-gauge/src/coverage-contract.test.ts +++ b/packages/fuel-gauge/src/coverage-contract.test.ts @@ -1,7 +1,7 @@ import type { BN, Message } from 'fuels'; import { arrayify, bn, toHex, Wallet, ScriptTransactionRequest, randomBytes, hexlify } from 'fuels'; -import { CoverageContractAbi } from '../test/typegen/contracts'; +import { CoverageContractFactory } from '../test/typegen/contracts'; import { launchTestContract } from './utils'; @@ -36,7 +36,7 @@ enum MixedNativeEnum { function setupContract() { return launchTestContract({ - deployer: CoverageContractAbiFactory, + factory: CoverageContractFactory, }); } diff --git a/packages/fuel-gauge/src/doc-examples.test.ts b/packages/fuel-gauge/src/doc-examples.test.ts index 4ccc9427040..224b0d122e1 100644 --- a/packages/fuel-gauge/src/doc-examples.test.ts +++ b/packages/fuel-gauge/src/doc-examples.test.ts @@ -1,6 +1,5 @@ import type { Bech32Address, BigNumberish, Bytes, WalletLocked } from 'fuels'; import { - Predicate, bn, hashMessage, Address, @@ -14,12 +13,13 @@ import { WalletUnlocked, Signer, ZeroBytes32, + Predicate, } from 'fuels'; import { AssetId, launchTestNode } from 'fuels/test-utils'; -import { CallTestContractAbi } from '../test/typegen/contracts'; -import { Predicate } from '../test/typegen/predicates'; -import { PredicateTripleSigAbi } from '../test/typegen/predicates/factories/PredicateTripleSigAbi'; +import { PredicateTrue } from '../test/typegen'; +import { CallTestContract } from '../test/typegen/contracts'; +import { PredicateTripleSig } from '../test/typegen/predicates/PredicateTripleSig'; const PUBLIC_KEY = '0x2f34bc0df4db0ec391792cedb05768832b49b1aa3a2dd8c30054d1af00f67d00b74b7acbbf3087c8e0b1a4c343db50aa471d21f278ff5ce09f07795d541fb47e'; @@ -112,7 +112,7 @@ describe('Doc Examples', () => { const address = Address.fromB256(hexedB256); const arrayB256: Uint8Array = arrayify(randomB256Bytes); const walletLike: WalletLocked = Wallet.fromAddress(address, provider); - const contractLike: Contract = new Contract(address, CallTestContractAbi.abi, provider); + const contractLike: Contract = new Contract(address, CallTestContract.abi, provider); expect(address.equals(addressify(walletLike) as Address)).toBeTruthy(); expect(address.equals(contractLike.id as Address)).toBeTruthy(); @@ -242,11 +242,12 @@ describe('Doc Examples', () => { using launched = await launchTestNode(); const { provider } = launched; const predicate = new Predicate({ + bytecode: PredicateTrue.bytecode, provider, }); expect(predicate.address).toBeTruthy(); - expect(predicate.bytes).toEqual(arrayify(Predicate.bytecode)); + expect(predicate.bytes).toEqual(arrayify(PredicateTrue.bytecode)); }); it('can create a predicate and use', async () => { @@ -276,9 +277,7 @@ describe('Doc Examples', () => { const signature1 = await wallet1.signMessage(dataToSign); const signature2 = await wallet2.signMessage(dataToSign); const signature3 = await wallet3.signMessage(dataToSign); - const predicate = PredicateTripleSigAbi.createInstance(provider, [ - [signature1, signature2, signature3], - ]); + const predicate = new PredicateTripleSig(provider, [[signature1, signature2, signature3]]); const amountToPredicate = 600_000; const amountToReceiver = 100; diff --git a/packages/fuel-gauge/src/dry-run-multiple-txs.test.ts b/packages/fuel-gauge/src/dry-run-multiple-txs.test.ts index b288078f614..663dfee54a6 100644 --- a/packages/fuel-gauge/src/dry-run-multiple-txs.test.ts +++ b/packages/fuel-gauge/src/dry-run-multiple-txs.test.ts @@ -8,10 +8,11 @@ import { ContractFactory, Wallet } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; import { - AdvancedLoggingAbi, - AdvancedLoggingOtherContractAbi, - MultiTokenContractAbi, - RevertErrorAbi, + AdvancedLoggingFactory, + AdvancedLoggingOtherContractFactory, + MultiTokenContract, + MultiTokenContractFactory, + RevertErrorFactory, } from '../test/typegen/contracts'; /** @@ -23,7 +24,7 @@ describe('dry-run-multiple-txs', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: RevertErrorAbiFactory, + factory: RevertErrorFactory, }, ], }); @@ -120,16 +121,16 @@ describe('dry-run-multiple-txs', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: RevertErrorAbiFactory, + factory: RevertErrorFactory, }, { - deployer: MultiTokenContractAbiFactory, + factory: MultiTokenContractFactory, }, { - deployer: AdvancedLoggingAbiFactory, + factory: AdvancedLoggingFactory, }, { - deployer: AdvancedLoggingOtherContractAbiFactory, + factory: AdvancedLoggingOtherContractFactory, }, ], }); @@ -153,8 +154,8 @@ describe('dry-run-multiple-txs', () => { // request 1 const factory = new ContractFactory( - MultiTokenAbiFactory.bytecode, - MultiTokenContractAbi.abi, + MultiTokenContractFactory.bytecode, + MultiTokenContract.abi, wallet ); const { transactionRequest: request1 } = factory.createTransactionRequest({ diff --git a/packages/fuel-gauge/src/edge-cases.test.ts b/packages/fuel-gauge/src/edge-cases.test.ts index 1ebfa89bfbe..31df1c925e5 100644 --- a/packages/fuel-gauge/src/edge-cases.test.ts +++ b/packages/fuel-gauge/src/edge-cases.test.ts @@ -1,7 +1,7 @@ import { TransactionResponse, Wallet } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { CollisionInFnNamesAbi } from '../test/typegen/contracts'; +import { CollisionInFnNamesFactory } from '../test/typegen/contracts'; import { launchTestContract } from './utils'; @@ -12,7 +12,7 @@ import { launchTestContract } from './utils'; describe('Edge Cases', () => { it('can run collision_in_fn_names', async () => { using contractInstance = await launchTestContract({ - deployer: CollisionInFnNamesAbiFactory, + factory: CollisionInFnNamesFactory, }); const { waitForResult } = await contractInstance.functions.new().call(); diff --git a/packages/fuel-gauge/src/fee.test.ts b/packages/fuel-gauge/src/fee.test.ts index 5911906736e..76e2b929ff8 100644 --- a/packages/fuel-gauge/src/fee.test.ts +++ b/packages/fuel-gauge/src/fee.test.ts @@ -2,8 +2,12 @@ import { ContractFactory, ScriptTransactionRequest, Wallet, getRandomB256 } from import type { BN } from 'fuels'; import { launchTestNode, ASSET_A, ASSET_B, expectToBeInRange } from 'fuels/test-utils'; -import { CallTestContractAbi, MultiTokenContractAbi } from '../test/typegen/contracts'; -import { PredicateU32Abi } from '../test/typegen/predicates/factories/PredicateU32Abi'; +import { + CallTestContractFactory, + MultiTokenContract, + MultiTokenContractFactory, +} from '../test/typegen/contracts'; +import { PredicateU32 } from '../test/typegen/predicates/PredicateU32'; /** * @group node @@ -31,7 +35,7 @@ describe('Fee', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: MultiTokenContractAbiFactory, + factory: MultiTokenContractFactory, }, ], }); @@ -162,8 +166,8 @@ describe('Fee', () => { const balanceBefore = await wallet.getBalance(); const factory = new ContractFactory( - MultiTokenContractAbiFactory.bytecode, - MultiTokenContractAbi.abi, + MultiTokenContractFactory.bytecode, + MultiTokenContract.abi, wallet ); const { transactionRequest } = factory.createTransactionRequest(); @@ -190,7 +194,7 @@ describe('Fee', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: CallTestContractAbiFactory, + factory: CallTestContractFactory, }, ], }); @@ -222,7 +226,7 @@ describe('Fee', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: CallTestContractAbiFactory, + factory: CallTestContractFactory, }, ], }); @@ -261,7 +265,7 @@ describe('Fee', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: MultiTokenContractAbiFactory, + factory: MultiTokenContractFactory, }, ], }); @@ -309,7 +313,7 @@ describe('Fee', () => { wallets: [wallet], } = launched; - const predicate = PredicateU32Abi.createInstance(provider, [1078]); + const predicate = new PredicateU32(provider, [1078]); const tx1 = await wallet.transfer(predicate.address, 1_000_000, provider.getBaseAssetId()); await tx1.wait(); diff --git a/packages/fuel-gauge/src/generic-types-contract.test.ts b/packages/fuel-gauge/src/generic-types-contract.test.ts index 959315a872b..b963730d629 100644 --- a/packages/fuel-gauge/src/generic-types-contract.test.ts +++ b/packages/fuel-gauge/src/generic-types-contract.test.ts @@ -1,6 +1,6 @@ import { toHex } from 'fuels'; -import { GenericTypesContractAbi } from '../test/typegen/contracts'; +import { GenericTypesContractFactory } from '../test/typegen/contracts'; import { launchTestContract } from './utils'; /** @@ -10,7 +10,7 @@ import { launchTestContract } from './utils'; describe('GenericTypesContract', () => { it('should call complex contract function with generic type', async () => { using contract = await launchTestContract({ - deployer: GenericTypesContractAbiFactory, + factory: GenericTypesContractFactory, }); const b256 = '0xd5579c46dfcc7f18207013e65b44e4cb4e2c2298f4ac457ba8f82743f31e930b'; diff --git a/packages/fuel-gauge/src/is-function-readonly.test.ts b/packages/fuel-gauge/src/is-function-readonly.test.ts index 06c02703935..0a50ddfafdb 100644 --- a/packages/fuel-gauge/src/is-function-readonly.test.ts +++ b/packages/fuel-gauge/src/is-function-readonly.test.ts @@ -1,10 +1,10 @@ -import { StorageTestContractAbi } from '../test/typegen/contracts'; +import { StorageTestContractFactory } from '../test/typegen/contracts'; import { launchTestContract } from './utils'; function setupContract() { return launchTestContract({ - deployer: StorageTestContractAbiFactory, + factory: StorageTestContractFactory, }); } /** diff --git a/packages/fuel-gauge/src/options.test.ts b/packages/fuel-gauge/src/options.test.ts index dda90927733..34f2f4eac21 100644 --- a/packages/fuel-gauge/src/options.test.ts +++ b/packages/fuel-gauge/src/options.test.ts @@ -1,6 +1,6 @@ import { launchTestNode } from 'fuels/test-utils'; -import { OptionsAbi } from '../test/typegen/contracts'; +import { OptionsFactory } from '../test/typegen/contracts'; import { launchTestContract } from './utils'; @@ -10,7 +10,7 @@ const U32_MAX = 4294967295; function launchOptionsContract() { return launchTestContract({ - deployer: OptionsAbiFactory, + factory: OptionsFactory, }); } @@ -203,7 +203,7 @@ describe('Options Tests', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: OptionsAbiFactory, + factory: OptionsFactory, }, ], }); diff --git a/packages/fuel-gauge/src/payable-annotation.test.ts b/packages/fuel-gauge/src/payable-annotation.test.ts index 5df2550e182..7974c092efc 100644 --- a/packages/fuel-gauge/src/payable-annotation.test.ts +++ b/packages/fuel-gauge/src/payable-annotation.test.ts @@ -1,12 +1,12 @@ import { bn } from 'fuels'; -import { PayableAnnotationAbi } from '../test/typegen/contracts'; +import { PayableAnnotationFactory } from '../test/typegen/contracts'; import { launchTestContract } from './utils'; function launchPayableContract() { return launchTestContract({ - deployer: PayableAnnotationAbiFactory, + factory: PayableAnnotationFactory, }); } diff --git a/packages/fuel-gauge/src/policies.test.ts b/packages/fuel-gauge/src/policies.test.ts index 81aec957920..1735b817731 100644 --- a/packages/fuel-gauge/src/policies.test.ts +++ b/packages/fuel-gauge/src/policies.test.ts @@ -10,7 +10,7 @@ import { } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { PayableAnnotationAbi, ScriptMainArgsAbi } from '../test/typegen'; +import { PayableAnnotationFactory, ScriptMainArgs } from '../test/typegen'; /** * @group node @@ -155,11 +155,7 @@ describe('Policies', () => { wallets: [wallet], } = launched; - const factory = new ContractFactory( - ScriptMainArgsFactory.bytecode, - ScriptMainArgsAbi.abi, - wallet - ); + const factory = new ScriptMainArgs(wallet); const txParams: CustomTxParams = { tip: 11, @@ -189,7 +185,7 @@ describe('Policies', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: PayableAnnotationAbiFactory, + factory: PayableAnnotationFactory, }, ], }); @@ -227,8 +223,8 @@ describe('Policies', () => { } = launched; const scriptInstance = new Script( - ScriptMainArgsFactory.bytecode, - ScriptMainArgsAbi.abi, + ScriptMainArgs.bytecode, + ScriptMainArgs.abi, wallet ); @@ -289,7 +285,7 @@ describe('Policies', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: PayableAnnotationAbiFactory, + factory: PayableAnnotationFactory, }, ], }); @@ -381,7 +377,7 @@ describe('Policies', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: PayableAnnotationAbiFactory, + factory: PayableAnnotationFactory, }, ], }); @@ -441,11 +437,7 @@ describe('Policies', () => { const maxFee = 1; - const factory = new ContractFactory( - ScriptMainArgsFactory.bytecode, - ScriptMainArgsAbi.abi, - wallet - ); + const factory = new ContractFactory(ScriptMainArgs.bytecode, ScriptMainArgs.abi, wallet); const txParams: CustomTxParams = { witnessLimit: 800, @@ -463,7 +455,7 @@ describe('Policies', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: PayableAnnotationAbiFactory, + factory: PayableAnnotationFactory, }, ], }); diff --git a/packages/fuel-gauge/src/predicate/predicate-with-contract.test.ts b/packages/fuel-gauge/src/predicate/predicate-with-contract.test.ts index 5fc69f51ed4..64b1151f239 100644 --- a/packages/fuel-gauge/src/predicate/predicate-with-contract.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-with-contract.test.ts @@ -1,9 +1,8 @@ import { Contract, Wallet } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { CallTestContractAbi, TokenContractAbi } from '../../test/typegen/contracts'; - -import { PredicateMainArgsStructAbi, Predicate } from '../../test/typegen/predicates'; +import { CallTestContractFactory, TokenContractFactory } from '../../test/typegen/contracts'; +import { PredicateMainArgsStruct } from '../../test/typegen/predicates'; import { fundPredicate } from './utils/predicate'; @@ -15,7 +14,7 @@ describe('Predicate', () => { describe('With Contract', () => { it('calls a predicate from a contract function', async () => { using launched = await launchTestNode({ - contractsConfigs: [{ deployer: CallTestContractAbi, bytecode: contractBytes }]Factory, + contractsConfigs: [{ factory: CallTestContractFactory }], }); const { @@ -25,7 +24,7 @@ describe('Predicate', () => { } = launched; const amountToPredicate = 300_000; - const predicate = Predicate.createInstance(provider); + const predicate = new PredicateMainArgsStruct(provider); // Create a instance of the contract with the predicate as the caller Account const contractPredicate = new Contract(contract.id, contract.interface, predicate); @@ -46,7 +45,7 @@ describe('Predicate', () => { it('calls a predicate and uses proceeds for a contract call', async () => { using launched = await launchTestNode({ - contractsConfigs: [{ deployer: TokenContractAbi, bytecode: tokenPoolBytes }]Factory, + contractsConfigs: [{ factory: TokenContractFactory }], }); const { @@ -67,7 +66,7 @@ describe('Predicate', () => { // setup predicate const amountToPredicate = 1_000_000; const amountToReceiver = 200_000; - const predicate = PredicateMainArgsStructAbi.createInstance(provider, [ + const predicate = new PredicateMainArgsStruct(provider, [ { has_account: true, total_complete: 100, diff --git a/packages/fuel-gauge/src/raw-slice.test.ts b/packages/fuel-gauge/src/raw-slice.test.ts index 7529814fa96..3515755df6b 100644 --- a/packages/fuel-gauge/src/raw-slice.test.ts +++ b/packages/fuel-gauge/src/raw-slice.test.ts @@ -2,9 +2,9 @@ import { bn, Predicate, Wallet, Address } from 'fuels'; import type { BN } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { ScriptRawSliceAbi } from '../test/typegen'; -import { RawSliceAbi } from '../test/typegen/contracts'; -import { PredicateRawSliceAbi } from '../test/typegen/predicates'; +import { ScriptRawSlice } from '../test/typegen'; +import { RawSliceFactory } from '../test/typegen/contracts'; +import { PredicateRawSlice } from '../test/typegen/predicates'; import { launchTestContract } from './utils'; @@ -20,7 +20,7 @@ type Wrapper = { function setupRawSliceContract() { return launchTestContract({ - deployer: RawSliceAbiFactory, + factory: RawSliceFactory, }); } /** @@ -91,7 +91,8 @@ describe('Raw Slice Tests', () => { }; const predicate = new Predicate({ - abi: PredicateRawSliceAbi.abi, + abi: PredicateRawSlice.abi, + bytecode: PredicateRawSlice.bytecode, provider: wallet.provider, inputData: [INPUT], }); @@ -134,7 +135,7 @@ describe('Raw Slice Tests', () => { wallets: [wallet], } = launched; - const scriptInstance = ScriptRawSliceAbi.createInstance(wallet); + const scriptInstance = new ScriptRawSlice(wallet); const bytes = [40, 41, 42]; const INPUT: Wrapper = { diff --git a/packages/fuel-gauge/src/reentrant-contract-calls.test.ts b/packages/fuel-gauge/src/reentrant-contract-calls.test.ts index a164d4594b7..b6151e1bb77 100644 --- a/packages/fuel-gauge/src/reentrant-contract-calls.test.ts +++ b/packages/fuel-gauge/src/reentrant-contract-calls.test.ts @@ -2,9 +2,10 @@ import { ContractFactory, ReceiptType, bn } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; import { - ReentrantBarAbi, - ReentrantFooAbi, - StorageTestContractAbi, + ReentrantBarFactory, + ReentrantFooFactory, + StorageTestContract, + StorageTestContractFactory, } from '../test/typegen/contracts'; /** @@ -14,14 +15,7 @@ import { describe('Reentrant Contract Calls', () => { it('should ensure the SDK returns the proper value for a reentrant call', async () => { using launched = await launchTestNode({ - contractsConfigs: [ - { - deployer: ReentrantFooAbiFactory, - }, - { - deployer: ReentrantBarAbiFactory, - }, - ], + contractsConfigs: [{ factory: ReentrantFooFactory }, { factory: ReentrantBarFactory }], }); const { @@ -65,14 +59,7 @@ describe('Reentrant Contract Calls', () => { it('should ensure the SDK returns the proper value for a reentrant call on multi-call', async () => { using launched = await launchTestNode({ - contractsConfigs: [ - { - deployer: ReentrantFooAbiFactory, - }, - { - deployer: ReentrantBarAbiFactory, - }, - ], + contractsConfigs: [{ factory: ReentrantFooFactory }, { factory: ReentrantBarFactory }], }); const { @@ -81,10 +68,10 @@ describe('Reentrant Contract Calls', () => { } = launched; const deploy = await new ContractFactory( - StorageTestContractAbiFactory.bytecode, - StorageTestContractAbi.abi, + StorageTestContractFactory.bytecode, + StorageTestContract.abi, wallet - ).deployContract({ storageSlots: StorageTestContractAbi.storageSlots }); + ).deployContract({ storageSlots: StorageTestContract.storageSlots }); const { contract: storageContract } = await deploy.waitForResult(); diff --git a/packages/fuel-gauge/src/std-lib-string.test.ts b/packages/fuel-gauge/src/std-lib-string.test.ts index 30ed3425f81..f64a45f849f 100644 --- a/packages/fuel-gauge/src/std-lib-string.test.ts +++ b/packages/fuel-gauge/src/std-lib-string.test.ts @@ -1,7 +1,7 @@ import { bn, Predicate, Wallet, Address } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { PredicateStdLibString, ScriptStdLibString, StdLibString } from '../test/typegen'; +import { PredicateStdLibString, ScriptStdLibString, StdLibStringFactory } from '../test/typegen'; import { launchTestContract } from './utils'; @@ -12,7 +12,7 @@ import { launchTestContract } from './utils'; function setupContract() { return launchTestContract({ - deployer: StdLibStringFactory, + factory: StdLibStringFactory, }); } @@ -52,6 +52,7 @@ describe('std-lib-string Tests', () => { type MainArgs = [number, number, string]; const predicate = new Predicate({ abi: PredicateStdLibString.abi, + bytecode: PredicateStdLibString.bytecode, provider, inputData: [1, 2, 'Hello World'], }); @@ -95,7 +96,7 @@ describe('std-lib-string Tests', () => { } = launched; const INPUT = 'Hello World'; - const scriptInstance = ScriptStdLibString.createInstance(wallet); + const scriptInstance = new ScriptStdLibString(wallet); const { waitForResult } = await scriptInstance.functions.main(INPUT).call(); const { value } = await waitForResult(); diff --git a/packages/fuel-gauge/src/str-slice.test.ts b/packages/fuel-gauge/src/str-slice.test.ts index 74be1e6a400..d8ea8fb2acc 100644 --- a/packages/fuel-gauge/src/str-slice.test.ts +++ b/packages/fuel-gauge/src/str-slice.test.ts @@ -1,8 +1,11 @@ import { bn } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import type { PredicateStrSliceInputs } from '../test/typegen'; -import { PredicateStrSlice, ScriptStrSlice, StrSlice, StrSliceFactory } from '../test/typegen'; +import { StrSliceFactory, ScriptStrSlice } from '../test/typegen'; +import { + PredicateStrSlice, + type PredicateStrSliceInputs, +} from '../test/typegen/predicates/PredicateStrSlice'; /** * @group node @@ -11,12 +14,9 @@ import { PredicateStrSlice, ScriptStrSlice, StrSlice, StrSliceFactory } from '.. describe('str slice', () => { it('echoes a str slice [CONTRACT]', async () => { using launched = await launchTestNode({ - contractsConfigs: [ - { - deployer: StrSliceFactory, - }, - ], + contractsConfigs: [{ factory: StrSliceFactory }], }); + const { contracts: [strSliceContract], } = launched; @@ -65,7 +65,7 @@ describe('str slice', () => { wallets: [sender], } = launched; - const script = await ScriptStrSlice.createInstance(sender); + const script = new ScriptStrSlice(sender); const input = 'script-input'; const output = 'script-return'; const { waitForResult } = await script.functions.main(input).call(); diff --git a/packages/fuel-gauge/src/token-test-contract.test.ts b/packages/fuel-gauge/src/token-test-contract.test.ts index cac9ed35a7f..96796bc9614 100644 --- a/packages/fuel-gauge/src/token-test-contract.test.ts +++ b/packages/fuel-gauge/src/token-test-contract.test.ts @@ -3,7 +3,7 @@ import type { AssetId, BN } from 'fuels'; import { toHex, Wallet, bn } from 'fuels'; import { expectToThrowFuelError, launchTestNode } from 'fuels/test-utils'; -import { TokenContract, TokenContractFactory } from '../test/typegen'; +import { TokenContractFactory } from '../test/typegen'; /** * @group node @@ -16,7 +16,7 @@ describe('TokenTestContract', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: TokenContractFactory, + factory: TokenContractFactory, }, ], }); @@ -65,7 +65,7 @@ describe('TokenTestContract', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: TokenContractFactory, + factory: TokenContractFactory, }, ], walletsConfig: { @@ -139,7 +139,7 @@ describe('TokenTestContract', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: TokenContractFactory, + factory: TokenContractFactory, }, ], }); @@ -178,7 +178,7 @@ describe('TokenTestContract', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: TokenContractFactory, + factory: TokenContractFactory, }, ], }); diff --git a/packages/fuel-gauge/src/transaction-summary.test.ts b/packages/fuel-gauge/src/transaction-summary.test.ts index a41f6d618fa..4915e3a0596 100644 --- a/packages/fuel-gauge/src/transaction-summary.test.ts +++ b/packages/fuel-gauge/src/transaction-summary.test.ts @@ -18,12 +18,7 @@ import { } from 'fuels'; import { ASSET_A, ASSET_B, launchTestNode } from 'fuels/test-utils'; -import { - MultiTokenContract, - TokenContract, - MultiTokenContractFactory, - TokenContractFactory, -} from '../test/typegen'; +import { MultiTokenContractFactory, TokenContractFactory } from '../test/typegen'; /** * @group node @@ -247,7 +242,7 @@ describe('TransactionSummary', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: MultiTokenContractFactory, + factory: MultiTokenContractFactory, }, ], }); @@ -278,7 +273,7 @@ describe('TransactionSummary', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: TokenContractFactory, + factory: TokenContractFactory, }, ], }); @@ -319,7 +314,7 @@ describe('TransactionSummary', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: TokenContractFactory, + factory: TokenContractFactory, }, ], }); @@ -397,10 +392,10 @@ describe('TransactionSummary', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: TokenContractFactory, + factory: TokenContractFactory, }, { - deployer: TokenContractFactory, + factory: TokenContractFactory, }, ], }); @@ -444,13 +439,13 @@ describe('TransactionSummary', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: TokenContractFactory, + factory: TokenContractFactory, }, { - deployer: TokenContractFactory, + factory: TokenContractFactory, }, { - deployer: TokenContractFactory, + factory: TokenContractFactory, }, ], }); diff --git a/packages/fuel-gauge/src/vector-types.test.ts b/packages/fuel-gauge/src/vector-types.test.ts index 2d0db0c491b..6a36c6b477b 100644 --- a/packages/fuel-gauge/src/vector-types.test.ts +++ b/packages/fuel-gauge/src/vector-types.test.ts @@ -1,8 +1,9 @@ import { bn, Predicate, Wallet, Address } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; +import { VectorTypesContractFactory } from '../test/typegen'; import { PredicateVectorTypes } from '../test/typegen/predicates'; -import { VectorsFactory } from '../test/typegen/scripts'; +import { VectorTypesScript } from '../test/typegen/scripts'; import { launchTestContract } from './utils'; @@ -82,7 +83,7 @@ type MainArgs = [ describe('Vector Types Validation', () => { it('can use supported vector types [vector-types-contract]', async () => { using contractInstance = await launchTestContract({ - deployer: VectorTypesContractFactory, + factory: VectorTypesContractFactory, }); const { waitForResult } = await contractInstance.functions @@ -112,7 +113,7 @@ describe('Vector Types Validation', () => { wallets: [wallet], } = launched; - const scriptInstance = VectorTypesScript.createInstance(wallet); + const scriptInstance = new VectorTypesScript(wallet); const { waitForResult } = await scriptInstance.functions .main( @@ -149,6 +150,7 @@ describe('Vector Types Validation', () => { const predicate = new Predicate({ provider: wallet.provider, abi: PredicateVectorTypes.abi, + bytecode: PredicateVectorTypes.bytecode, inputData: [ U32_VEC, VEC_IN_VEC, diff --git a/packages/fuel-gauge/src/vectors.test.ts b/packages/fuel-gauge/src/vectors.test.ts index 842b48f8ba6..5cf2462335f 100644 --- a/packages/fuel-gauge/src/vectors.test.ts +++ b/packages/fuel-gauge/src/vectors.test.ts @@ -13,7 +13,7 @@ enum SmallEnum { function setupContract() { return launchTestContract({ - deployer: VectorsFactory, + factory: VectorsFactory, }); } From b2d8e37671f2deefed073da6cf27ca1ea6c033c9 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Tue, 23 Jul 2024 11:00:32 -0300 Subject: [PATCH 27/95] Adjusting more gauge tests --- packages/fuel-gauge/src/min-gas.test.ts | 12 ++++---- .../predicate/predicate-configurables.test.ts | 25 +++++++++++----- .../src/predicate/predicate-general.test.ts | 5 ++-- .../predicate/predicate-input-data.test.ts | 5 ++-- .../predicate/predicate-invalidations.test.ts | 8 +++-- .../predicate-populate-witness.test.ts | 29 ++++++++++++------- .../predicate/predicate-with-script.test.ts | 9 +++--- .../fuel-gauge/src/script-main-args.test.ts | 18 +++++------- .../src/script-with-configurable.test.ts | 27 ++++------------- 9 files changed, 70 insertions(+), 68 deletions(-) diff --git a/packages/fuel-gauge/src/min-gas.test.ts b/packages/fuel-gauge/src/min-gas.test.ts index 8dd4c6445ae..e0db229eecc 100644 --- a/packages/fuel-gauge/src/min-gas.test.ts +++ b/packages/fuel-gauge/src/min-gas.test.ts @@ -10,7 +10,7 @@ import { } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { ComplexPredicateAbi, ComplexScriptAbi, CoverageContractAbi } from '../test/typegen'; +import { ComplexPredicate, CoverageContract, CoverageContractFactory } from '../test/typegen'; /** * @group node @@ -30,13 +30,13 @@ describe('Minimum gas tests', () => { */ const contractFactory = new ContractFactory( - CoverageContractAbiFactory.bytecode, - CoverageContractAbi.abi, + CoverageContractFactory.bytecode, + CoverageContract.abi, wallet ); const { transactionRequest: request } = contractFactory.createTransactionRequest({ - storageSlots: CoverageContractAbi.storageSlots, + storageSlots: CoverageContract.storageSlots, }); const resources = await provider.getResourcesToSpend(wallet.address, [ @@ -112,7 +112,7 @@ describe('Minimum gas tests', () => { /** * Setup predicate */ - const predicate = ComplexPredicateAbi.createInstance(provider, [bn(1000)]); + const predicate = ComplexPredicate.createInstance(provider, [bn(1000)]); /** * Fund the predicate @@ -160,7 +160,7 @@ describe('Minimum gas tests', () => { /** * Setup predicate */ - const predicate = ComplexPredicateAbi.createInstance(provider, [bn(1000)]); + const predicate = ComplexPredicate.createInstance(provider, [bn(1000)]); /** * Fund the predicate diff --git a/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts b/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts index 32ca0bd8210..5af388ad4ca 100644 --- a/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts @@ -1,7 +1,7 @@ import { getRandomB256, WalletUnlocked, Predicate } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { Predicate, PredicateWithConfigurableAbi } from '../../test/typegen'; +import { PredicateTrue, PredicateWithConfigurable } from '../../test/typegen'; import { fundPredicate, assertBalance } from './utils/predicate'; @@ -27,7 +27,8 @@ describe('Predicate', () => { } = launched; const predicate = new Predicate({ - abi: PredicateWithConfigurableAbi.abi, + abi: PredicateWithConfigurable.abi, + bytecode: PredicateWithConfigurable.bytecode, provider: wallet.provider, inputData: [defaultValues.FEE, defaultValues.ADDRESS], // set predicate input data to be the same as default configurable value }); @@ -69,7 +70,8 @@ describe('Predicate', () => { expect(configurableConstants.FEE).not.toEqual(defaultValues.FEE); const predicate = new Predicate({ - abi: PredicateWithConfigurableAbi.abi, + abi: PredicateWithConfigurable.abi, + bytecode: PredicateWithConfigurable.bytecode, provider, inputData: [configurableConstants.FEE, defaultValues.ADDRESS], configurableConstants, @@ -113,7 +115,8 @@ describe('Predicate', () => { expect(configurableConstants.ADDRESS).not.toEqual(defaultValues.ADDRESS); const predicate = new Predicate({ - abi: PredicateWithConfigurableAbi.abi, + abi: PredicateWithConfigurable.abi, + bytecode: PredicateWithConfigurable.bytecode, provider, inputData: [defaultValues.FEE, configurableConstants.ADDRESS], configurableConstants, @@ -161,7 +164,8 @@ describe('Predicate', () => { expect(configurableConstants.FEE).not.toEqual(defaultValues.FEE); expect(configurableConstants.ADDRESS).not.toEqual(defaultValues.ADDRESS); const predicate = new Predicate({ - abi: PredicateWithConfigurableAbi.abi, + abi: PredicateWithConfigurable.abi, + bytecode: PredicateWithConfigurable.bytecode, provider, inputData: [configurableConstants.FEE, configurableConstants.ADDRESS], configurableConstants, @@ -200,7 +204,8 @@ describe('Predicate', () => { } = launched; const predicate = new Predicate({ - abi: PredicateWithConfigurableAbi.abi, + abi: PredicateWithConfigurable.abi, + bytecode: PredicateWithConfigurable.bytecode, provider, }); @@ -223,7 +228,8 @@ describe('Predicate', () => { expect(() => { // eslint-disable-next-line @typescript-eslint/no-unused-vars const predicate = new Predicate({ - abi: Predicate.abi, + abi: PredicateTrue.abi, + bytecode: PredicateTrue.bytecode, provider, inputData: ['NADA'], configurableConstants: { @@ -243,7 +249,8 @@ describe('Predicate', () => { expect(() => { // eslint-disable-next-line @typescript-eslint/no-unused-vars const predicate = new Predicate({ - abi: PredicateWithConfigurableAbi.abi, + abi: PredicateWithConfigurable.abi, + bytecode: PredicateWithConfigurable.bytecode, provider, inputData: ['NADA'], configurableConstants: { @@ -262,6 +269,8 @@ describe('Predicate', () => { expect(() => { // eslint-disable-next-line @typescript-eslint/no-unused-vars const predicate = new Predicate({ + abi: PredicateTrue.abi, + bytecode: PredicateTrue.bytecode, provider, inputData: ['NADA'], configurableConstants: { diff --git a/packages/fuel-gauge/src/predicate/predicate-general.test.ts b/packages/fuel-gauge/src/predicate/predicate-general.test.ts index aa7715e66c9..840f3655a91 100644 --- a/packages/fuel-gauge/src/predicate/predicate-general.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-general.test.ts @@ -2,7 +2,7 @@ import type { BN, FakeResources } from 'fuels'; import { Address, Predicate, ScriptTransactionRequest, bn } from 'fuels'; import { ASSET_A, ASSET_B, launchTestNode } from 'fuels/test-utils'; -import { PredicateSumAbi } from '../../test/typegen'; +import { PredicateSum } from '../../test/typegen'; /** * @group node @@ -29,7 +29,8 @@ describe('Predicate', () => { const value1 = bn(100); const predicate = new Predicate<[BN, BN]>({ - abi: PredicateSumAbi.abi, + abi: PredicateSum.abi, + bytecode: PredicateSum.bytecode, provider, inputData: [value1, value2], }); diff --git a/packages/fuel-gauge/src/predicate/predicate-input-data.test.ts b/packages/fuel-gauge/src/predicate/predicate-input-data.test.ts index f2cbe8f2cdc..ae5bfd9f0ae 100644 --- a/packages/fuel-gauge/src/predicate/predicate-input-data.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-input-data.test.ts @@ -1,7 +1,7 @@ import { Predicate, Wallet } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { PredicateInputDataAbi } from '../../test/typegen'; +import { PredicateInputData } from '../../test/typegen'; import { fundPredicate } from './utils/predicate'; @@ -23,7 +23,8 @@ describe('Predicate', () => { const amountToReceiver = 50; const predicate = new Predicate({ - abi: PredicateInputDataAbi.abi, + abi: PredicateInputData.abi, + bytecode: PredicateInputData.bytecode, provider, inputData: [true], }); diff --git a/packages/fuel-gauge/src/predicate/predicate-invalidations.test.ts b/packages/fuel-gauge/src/predicate/predicate-invalidations.test.ts index 81818323960..a086974bb66 100644 --- a/packages/fuel-gauge/src/predicate/predicate-invalidations.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-invalidations.test.ts @@ -1,7 +1,7 @@ import { Predicate, Wallet } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { PredicateMainArgsStructAbi } from '../../test/typegen'; +import { PredicateMainArgsStruct } from '../../test/typegen'; import type { Validation } from '../types/predicate'; import { fundPredicate } from './utils/predicate'; @@ -20,7 +20,8 @@ describe('Predicate', () => { } = launched; const predicate = new Predicate<[Validation]>({ - abi: PredicateMainArgsStructAbi.abi, + abi: PredicateMainArgsStruct.abi, + bytecode: PredicateMainArgsStruct.bytecode, provider, }); @@ -48,7 +49,8 @@ describe('Predicate', () => { } = launched; const predicate = new Predicate<[Validation]>({ - abi: PredicateMainArgsStructAbi.abi, + abi: PredicateMainArgsStruct.abi, + bytecode: PredicateMainArgsStruct.bytecode, provider, }); diff --git a/packages/fuel-gauge/src/predicate/predicate-populate-witness.test.ts b/packages/fuel-gauge/src/predicate/predicate-populate-witness.test.ts index 6390b93524d..3ff15326146 100644 --- a/packages/fuel-gauge/src/predicate/predicate-populate-witness.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-populate-witness.test.ts @@ -2,7 +2,7 @@ import type { CoinQuantityLike, ExcludeResourcesOption, Resource } from 'fuels'; import { Predicate, ScriptTransactionRequest, bn, isCoin, Wallet } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { PredicateAssertNumberAbi, PredicateAssertValueAbi } from '../../test/typegen'; +import { PredicateAssertNumber, PredicateAssertValue } from '../../test/typegen'; import { fundPredicate } from './utils/predicate'; @@ -40,7 +40,8 @@ describe('Predicate', () => { const quantity: CoinQuantityLike[] = [[500, provider.getBaseAssetId()]]; const predicateAssertNumber = new Predicate<[number]>({ - abi: PredicateAssertNumberAbi.abi, + abi: PredicateAssertNumber.abi, + bytecode: PredicateAssertNumber.bytecode, provider, inputData: [11], }); @@ -94,7 +95,8 @@ describe('Predicate', () => { transactionRequest.addCoinOutput(receiver.address, 100, provider.getBaseAssetId()); const predicateAssertNumber = new Predicate<[number]>({ - abi: PredicateAssertNumberAbi.abi, + abi: PredicateAssertNumber.abi, + bytecode: PredicateAssertNumber.bytecode, provider, inputData: [11], }); @@ -148,7 +150,8 @@ describe('Predicate', () => { const quantity: CoinQuantityLike[] = [[500, provider.getBaseAssetId()]]; const predicateAssertNumber = new Predicate<[number]>({ - abi: PredicateAssertNumberAbi.abi, + abi: PredicateAssertNumber.abi, + bytecode: PredicateAssertNumber.bytecode, provider, inputData: [11], }); @@ -225,7 +228,8 @@ describe('Predicate', () => { const resources3 = await wallet3.getResourcesToSpend(quantity); const predicateAssertNumber = new Predicate<[number]>({ - abi: PredicateAssertNumberAbi.abi, + abi: PredicateAssertNumber.abi, + bytecode: PredicateAssertNumber.bytecode, provider, inputData: [11], }); @@ -233,7 +237,8 @@ describe('Predicate', () => { await fundPredicate(fundingWallet, predicateAssertNumber, 500_000, UTXOS_AMOUNT); const predicateAssertValue = new Predicate<[boolean]>({ - abi: PredicateAssertValueAbi.abi, + abi: PredicateAssertValue.abi, + bytecode: PredicateAssertValue.bytecode, provider, inputData: [true], }); @@ -314,7 +319,8 @@ describe('Predicate', () => { let transactionRequest = new ScriptTransactionRequest({ gasLimit: 2000, maxFee: bn(0) }); const predicateAssertNumber = new Predicate<[number]>({ - abi: PredicateAssertNumberAbi.abi, + abi: PredicateAssertNumber.abi, + bytecode: PredicateAssertNumber.bytecode, provider, inputData: [11], }); @@ -322,7 +328,8 @@ describe('Predicate', () => { await fundPredicate(fundingWallet, predicateAssertNumber, 500_000, UTXOS_AMOUNT); const predicateAssertValue = new Predicate<[boolean]>({ - abi: PredicateAssertValueAbi.abi, + abi: PredicateAssertValue.abi, + bytecode: PredicateAssertValue.bytecode, provider, inputData: [true], }); @@ -398,7 +405,8 @@ describe('Predicate', () => { const resources3 = await wallet3.getResourcesToSpend(quantity); const predicateAssertNumber = new Predicate<[number]>({ - abi: PredicateAssertNumberAbi.abi, + abi: PredicateAssertNumber.abi, + bytecode: PredicateAssertNumber.bytecode, provider, inputData: [11], }); @@ -415,7 +423,8 @@ describe('Predicate', () => { ); const predicateAssertValue = new Predicate<[boolean]>({ - abi: PredicateAssertValueAbi.abi, + abi: PredicateAssertValue.abi, + bytecode: PredicateAssertValue.bytecode, provider, inputData: [true], }); diff --git a/packages/fuel-gauge/src/predicate/predicate-with-script.test.ts b/packages/fuel-gauge/src/predicate/predicate-with-script.test.ts index 7d7cd9d9b9c..40689678e31 100644 --- a/packages/fuel-gauge/src/predicate/predicate-with-script.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-with-script.test.ts @@ -2,7 +2,7 @@ import type { BigNumberish } from 'fuels'; import { toNumber, Script, Predicate, Wallet } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { PredicateMainArgsStructAbi, ScriptMainArgsAbi } from '../../test/typegen'; +import { PredicateMainArgsStruct, ScriptMainArgs } from '../../test/typegen'; import type { Validation } from '../types/predicate'; import { fundPredicate } from './utils/predicate'; @@ -24,8 +24,8 @@ describe('Predicate', () => { const initialReceiverBalance = toNumber(await receiver.getBalance()); const scriptInstance = new Script( - ScriptMainArgsFactory.bytecode, - ScriptMainArgsAbi.abi, + ScriptMainArgs.bytecode, + ScriptMainArgs.abi, wallet ); @@ -42,7 +42,8 @@ describe('Predicate', () => { const amountToReceiver = 100_000; const predicate = new Predicate<[Validation]>({ provider, - abi: PredicateMainArgsStructAbi.abi, + abi: PredicateMainArgsStruct.abi, + bytecode: PredicateMainArgsStruct.bytecode, inputData: [ { has_account: true, diff --git a/packages/fuel-gauge/src/script-main-args.test.ts b/packages/fuel-gauge/src/script-main-args.test.ts index 2ae25f2eb8e..c74673262c7 100644 --- a/packages/fuel-gauge/src/script-main-args.test.ts +++ b/packages/fuel-gauge/src/script-main-args.test.ts @@ -2,11 +2,7 @@ import type { BigNumberish } from 'fuels'; import { bn, Script } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { - ScriptMainArgsAbi, - ScriptMainReturnStructAbi, - ScriptMainTwoArgsAbi, -} from '../test/typegen'; +import { ScriptMainArgs, ScriptMainReturnStruct, ScriptMainTwoArgs } from '../test/typegen'; type Baz = { x: number; @@ -26,8 +22,8 @@ describe('Script Coverage', () => { // #region script-call-factory const foo = 33; const scriptInstance = new Script( - ScriptMainArgsFactory.bytecode, - ScriptMainArgsAbi.abi, + ScriptMainArgs.bytecode, + ScriptMainArgs.abi, wallet ); @@ -46,7 +42,7 @@ describe('Script Coverage', () => { wallets: [wallet], } = launched; - const scriptInstance = ScriptMainTwoArgsAbi.createInstance(wallet); + const scriptInstance = new ScriptMainTwoArgs(wallet); const foo = 33; const bar: Baz = { x: 12, @@ -65,7 +61,7 @@ describe('Script Coverage', () => { wallets: [wallet], } = launched; - const scriptInstance = ScriptMainReturnStructAbi.createInstance(wallet); + const scriptInstance = new ScriptMainReturnStruct(wallet); const foo = 1; const bar: Baz = { x: 2, @@ -86,8 +82,8 @@ describe('Script Coverage', () => { } = launched; const scriptInstance = new Script( - ScriptMainArgsFactory.bytecode, - ScriptMainArgsAbi.abi, + ScriptMainArgs.bytecode, + ScriptMainArgs.abi, wallet ); const foo = 42; diff --git a/packages/fuel-gauge/src/script-with-configurable.test.ts b/packages/fuel-gauge/src/script-with-configurable.test.ts index d43098023e3..fa0a3ad8496 100644 --- a/packages/fuel-gauge/src/script-with-configurable.test.ts +++ b/packages/fuel-gauge/src/script-with-configurable.test.ts @@ -1,7 +1,6 @@ -import { Script } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { ScriptWithConfigurableAbi } from '../test/typegen'; +import { ScriptWithConfigurable } from '../test/typegen'; const defaultValues = { FEE: 5, @@ -19,11 +18,7 @@ describe('Script With Configurable', () => { wallets: [wallet], } = launched; - const script = new Script( - ScriptWithConfigurableFactory.bytecode, - ScriptWithConfigurableAbi.abi, - wallet - ); + const script = new ScriptWithConfigurable(wallet); script.setConfigurableConstants(defaultValues); @@ -44,11 +39,7 @@ describe('Script With Configurable', () => { expect(configurableConstants.FEE).not.toEqual(defaultValues.FEE); - const script = new Script( - ScriptWithConfigurableFactory.bytecode, - ScriptWithConfigurableAbi.abi, - wallet - ); + const script = new ScriptWithConfigurable(wallet); script.setConfigurableConstants(defaultValues); @@ -67,11 +58,7 @@ describe('Script With Configurable', () => { const configurableConstants = { FEE: 35 }; - const script = new Script( - ScriptWithConfigurableFactory.bytecode, - ScriptWithConfigurableAbi.abi, - wallet - ); + const script = new ScriptWithConfigurable(wallet); script.setConfigurableConstants(configurableConstants); @@ -94,11 +81,7 @@ describe('Script With Configurable', () => { expect(configurableConstants.FEE).not.toEqual(input.FEE); - const script = new Script( - ScriptWithConfigurableFactory.bytecode, - ScriptWithConfigurableAbi.abi, - wallet - ); + const script = new ScriptWithConfigurable(wallet); script.setConfigurableConstants(configurableConstants); From a83bb3b2d7dcd52d0523d96415a120d0823e889f Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Tue, 23 Jul 2024 11:08:37 -0300 Subject: [PATCH 28/95] Why ever stop? --- .../src/configurable-contract.test.ts | 2 +- .../fuel-gauge/src/coverage-contract.test.ts | 17 ++++------ packages/fuel-gauge/src/e2e-script.test.ts | 4 +-- packages/fuel-gauge/src/min-gas.test.ts | 15 ++++++--- .../src/predicate-conditional-inputs.test.ts | 6 ++-- .../src/predicate/predicate-arguments.test.ts | 32 +++++++++---------- .../predicate/predicate-estimations.test.ts | 12 +++---- .../predicate/predicate-evaluations.test.ts | 6 ++-- .../src/script-with-vectors.test.ts | 16 +++++----- packages/fuel-gauge/src/vectors.test.ts | 10 +++--- 10 files changed, 61 insertions(+), 59 deletions(-) diff --git a/packages/fuel-gauge/src/configurable-contract.test.ts b/packages/fuel-gauge/src/configurable-contract.test.ts index 441b704f39a..999d72761e4 100644 --- a/packages/fuel-gauge/src/configurable-contract.test.ts +++ b/packages/fuel-gauge/src/configurable-contract.test.ts @@ -1,7 +1,7 @@ import { BN, getRandomB256 } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { ConfigurableContractAbi, ConfigurableContractFactory } from '../test/typegen/contracts'; +import { ConfigurableContractFactory } from '../test/typegen/contracts'; const defaultValues = { U8: 10, diff --git a/packages/fuel-gauge/src/coverage-contract.test.ts b/packages/fuel-gauge/src/coverage-contract.test.ts index cf1a7da6b2c..88243e0d64a 100644 --- a/packages/fuel-gauge/src/coverage-contract.test.ts +++ b/packages/fuel-gauge/src/coverage-contract.test.ts @@ -2,6 +2,7 @@ import type { BN, Message } from 'fuels'; import { arrayify, bn, toHex, Wallet, ScriptTransactionRequest, randomBytes, hexlify } from 'fuels'; import { CoverageContractFactory } from '../test/typegen/contracts'; +import { SmallEnumInput } from '../test/typegen/contracts/Vectors'; import { launchTestContract } from './utils'; @@ -13,10 +14,6 @@ const B256 = '0x000000000000000000000000000000000000000000000000000000000000002a const B512 = '0x059bc9c43ea1112f3eb2bd30415de72ed24c1c4416a1316f0f48cc6f958073f42a6d8c12e4829826316d8dcf444498717b5a2fbf27defac367271065f6a1d4a5'; -enum SmallEnum { - Empty = 'Empty', -} - enum ColorEnumInput { Red = 'Red', Green = 'Green', @@ -91,7 +88,7 @@ describe('Coverage Contract', () => { expect(result.value).toStrictEqual(expectedValue); - expectedValue = SmallEnum.Empty; + expectedValue = SmallEnumInput.Empty; call = await contractInstance.functions.get_empty_enum().call(); result = await call.waitForResult(); @@ -312,7 +309,7 @@ describe('Coverage Contract', () => { it('should test enum < 8 byte variable type', async () => { using contractInstance = await setupContract(); - const INPUT = SmallEnum.Empty; + const INPUT = SmallEnumInput.Empty; const { waitForResult } = await contractInstance.functions.echo_enum_small(INPUT).call(); const { value } = await waitForResult(); expect(value).toStrictEqual(INPUT); @@ -802,14 +799,14 @@ describe('Coverage Contract', () => { contractInstance.functions.echo_b256_middle(INPUT_A, INPUT_B, INPUT_C, INPUT_D), contractInstance.functions.echo_u8(13), contractInstance.functions.echo_u8(23), - contractInstance.functions.echo_enum_small(SmallEnum.Empty), + contractInstance.functions.echo_enum_small(SmallEnumInput.Empty), contractInstance.functions.echo_b256_middle(INPUT_B, INPUT_A, INPUT_C, INPUT_D), ]) .call(); const { value: results } = await waitForResult(); - expect(results).toStrictEqual([INPUT_B, 13, 23, SmallEnum.Empty, INPUT_A]); + expect(results).toStrictEqual([INPUT_B, 13, 23, SmallEnumInput.Empty, INPUT_A]); }); it('should handle multiple calls [with vectors + stack data first]', async () => { @@ -824,7 +821,7 @@ describe('Coverage Contract', () => { .multiCall([ contractInstance.functions.echo_u8(1), contractInstance.functions.echo_u8(2), - contractInstance.functions.echo_enum_small(SmallEnum.Empty), + contractInstance.functions.echo_enum_small(SmallEnumInput.Empty), contractInstance.functions.echo_b256_middle(INPUT_A, INPUT_B, INPUT_C, INPUT_D), contractInstance.functions.echo_b256_middle(INPUT_B, INPUT_A, INPUT_C, INPUT_D), ]) @@ -832,6 +829,6 @@ describe('Coverage Contract', () => { const { value: results } = await waitForResult(); - expect(results).toStrictEqual([1, 2, SmallEnum.Empty, INPUT_B, INPUT_A]); + expect(results).toStrictEqual([1, 2, SmallEnumInput.Empty, INPUT_B, INPUT_A]); }); }); diff --git a/packages/fuel-gauge/src/e2e-script.test.ts b/packages/fuel-gauge/src/e2e-script.test.ts index f46711f06cb..16021b3e1b4 100644 --- a/packages/fuel-gauge/src/e2e-script.test.ts +++ b/packages/fuel-gauge/src/e2e-script.test.ts @@ -10,7 +10,7 @@ import { assets, } from 'fuels'; -import { ScriptMainArgBoolAbi } from '../test/typegen'; +import { ScriptMainArgBool } from '../test/typegen'; enum Networks { DEVNET = 'devnet', @@ -81,7 +81,7 @@ describe.each(selectedNetworks)('Live Script Test', (selectedNetwork) => { return; } - const scriptInstance = ScriptMainArgBoolAbi.createInstance(wallet); + const scriptInstance = ScriptMainArgBool.createInstance(wallet); let output: boolean = false; try { diff --git a/packages/fuel-gauge/src/min-gas.test.ts b/packages/fuel-gauge/src/min-gas.test.ts index e0db229eecc..f191cbfd8f7 100644 --- a/packages/fuel-gauge/src/min-gas.test.ts +++ b/packages/fuel-gauge/src/min-gas.test.ts @@ -10,7 +10,12 @@ import { } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { ComplexPredicate, CoverageContract, CoverageContractFactory } from '../test/typegen'; +import { + ComplexPredicate, + ComplexScript, + CoverageContract, + CoverageContractFactory, +} from '../test/typegen'; /** * @group node @@ -76,7 +81,7 @@ describe('Minimum gas tests', () => { */ const request = new ScriptTransactionRequest({ - script: ComplexScriptFactory.bytecode, + script: ComplexScript.bytecode, scriptData: hexlify(new BigNumberCoder('u64').encode(bn(2000))), }); request.addCoinOutput(Address.fromRandom(), bn(100), provider.getBaseAssetId()); @@ -112,7 +117,7 @@ describe('Minimum gas tests', () => { /** * Setup predicate */ - const predicate = ComplexPredicate.createInstance(provider, [bn(1000)]); + const predicate = new ComplexPredicate(provider, [bn(1000)]); /** * Fund the predicate @@ -160,7 +165,7 @@ describe('Minimum gas tests', () => { /** * Setup predicate */ - const predicate = ComplexPredicate.createInstance(provider, [bn(1000)]); + const predicate = new ComplexPredicate(provider, [bn(1000)]); /** * Fund the predicate @@ -172,7 +177,7 @@ describe('Minimum gas tests', () => { * Create a script transaction */ const request = new ScriptTransactionRequest({ - script: ComplexScriptFactory.bytecode, + script: ComplexScript.bytecode, scriptData: hexlify(new BigNumberCoder('u64').encode(bn(2000))), }); diff --git a/packages/fuel-gauge/src/predicate-conditional-inputs.test.ts b/packages/fuel-gauge/src/predicate-conditional-inputs.test.ts index cb66ea30d35..a58a27154cb 100644 --- a/packages/fuel-gauge/src/predicate-conditional-inputs.test.ts +++ b/packages/fuel-gauge/src/predicate-conditional-inputs.test.ts @@ -1,7 +1,7 @@ import { Wallet, ScriptTransactionRequest, bn } from 'fuels'; import { launchTestNode, ASSET_A, ASSET_B } from 'fuels/test-utils'; -import { PredicateConditionalInputsAbi } from '../test/typegen/predicates'; +import { PredicateConditionalInputs } from '../test/typegen/predicates'; /** * @group node @@ -22,7 +22,7 @@ describe('PredicateConditionalInputs', () => { const amountToTransfer = 1000; - const predicate = PredicateConditionalInputsAbi.createInstance(provider, undefined, { + const predicate = new PredicateConditionalInputs(provider, undefined, { MAKER: aliceWallet.address.toB256(), }); @@ -96,7 +96,7 @@ describe('PredicateConditionalInputs', () => { const amountToTransfer = 1000; - const predicate = PredicateConditionalInputsAbi.createInstance(provider, undefined, { + const predicate = new PredicateConditionalInputs(provider, undefined, { MAKER: aliceWallet.address.toB256(), }); diff --git a/packages/fuel-gauge/src/predicate/predicate-arguments.test.ts b/packages/fuel-gauge/src/predicate/predicate-arguments.test.ts index 6e23b67fe8c..1b536d38d58 100644 --- a/packages/fuel-gauge/src/predicate/predicate-arguments.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-arguments.test.ts @@ -2,11 +2,11 @@ import { toHex, Wallet } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; import { - PredicateAddressAbi, - PredicateMainArgsStructAbi, - PredicateMainArgsVectorAbi, - PredicateMultiArgsAbi, - PredicateU32Abi, + PredicateAddress, + PredicateMainArgsStruct, + PredicateMainArgsVector, + PredicateMultiArgs, + PredicateU32, } from '../../test/typegen'; import { fundPredicate, assertBalances } from './utils/predicate'; @@ -28,7 +28,7 @@ describe('Predicate', () => { wallets: [fundingWallet], } = launched; - const predicate = PredicateAddressAbi.createInstance(provider, [ + const predicate = new PredicateAddress(provider, [ '0xef86afa9696cf0dc6385e2c407a6e159a1103cefb7e2ae0636fb33d3cb2a9e4a', ]); @@ -60,7 +60,7 @@ describe('Predicate', () => { wallets: [fundingWallet], } = launched; - const predicate = PredicateAddressAbi.createInstance(provider, [ + const predicate = new PredicateAddress(provider, [ '0xbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbada', ]); @@ -82,7 +82,7 @@ describe('Predicate', () => { wallets: [fundingWallet], } = launched; - const predicate = PredicateU32Abi.createInstance(provider, [1078]); + const predicate = new PredicateU32(provider, [1078]); const receiver = Wallet.generate({ provider }); @@ -113,7 +113,7 @@ describe('Predicate', () => { wallets: [fundingWallet], } = launched; - const predicate = PredicateU32Abi.createInstance(provider, [100]); + const predicate = new PredicateU32(provider, [100]); // fund predicate await fundPredicate(fundingWallet, predicate, 90_000_00, 3); @@ -138,7 +138,7 @@ describe('Predicate', () => { wallets: [fundingWallet], } = launched; - const predicateInstanceForBalance = PredicateMainArgsStructAbi.createInstance(provider, [ + const predicateInstanceForBalance = new PredicateMainArgsStruct(provider, [ { has_account: true, total_complete: 100 }, ]); @@ -154,7 +154,7 @@ describe('Predicate', () => { await fundTx.waitForResult(); // #region predicate-struct-arg - const predicate = PredicateMainArgsStructAbi.createInstance(provider, [ + const predicate = new PredicateMainArgsStruct(provider, [ { has_account: true, total_complete: 100 }, ]); @@ -181,7 +181,7 @@ describe('Predicate', () => { wallets: [fundingWallet], } = launched; - const predicate = PredicateMainArgsStructAbi.createInstance(provider, [ + const predicate = new PredicateMainArgsStruct(provider, [ { has_account: false, total_complete: 0 }, ]); @@ -203,7 +203,7 @@ describe('Predicate', () => { wallets: [fundingWallet], } = launched; - const predicate = PredicateMainArgsVectorAbi.createInstance(provider, [[42]]); + const predicate = new PredicateMainArgsVector(provider, [[42]]); const receiver = Wallet.generate({ provider }); const initialReceiverBalance = await receiver.getBalance(); @@ -237,7 +237,7 @@ describe('Predicate', () => { const initialReceiverBalance = await receiver.getBalance(); // #region predicate-multi-args - const predicate = PredicateMultiArgsAbi.createInstance(provider, [20, 30]); + const predicate = new PredicateMultiArgs(provider, [20, 30]); // fund the predicate await fundPredicate(fundingWallet, predicate, amountToPredicate); @@ -268,7 +268,7 @@ describe('Predicate', () => { const receiver = Wallet.generate({ provider }); const initialReceiverBalance = await receiver.getBalance(); - const predicate = PredicateMultiArgsAbi.createInstance(provider, [20, 30]); + const predicate = new PredicateMultiArgs(provider, [20, 30]); // fund predicate await fundPredicate(fundingWallet, predicate, amountToPredicate); @@ -295,7 +295,7 @@ describe('Predicate', () => { wallets: [fundingWallet], } = launched; - const predicate = PredicateMultiArgsAbi.createInstance(provider, [20, 20]); + const predicate = new PredicateMultiArgs(provider, [20, 20]); // fund predicate await fundPredicate(fundingWallet, predicate, amountToPredicate); diff --git a/packages/fuel-gauge/src/predicate/predicate-estimations.test.ts b/packages/fuel-gauge/src/predicate/predicate-estimations.test.ts index 69eae4eb3e4..96924fbb04b 100644 --- a/packages/fuel-gauge/src/predicate/predicate-estimations.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-estimations.test.ts @@ -136,9 +136,7 @@ describe('Predicate', () => { const tx = new ScriptTransactionRequest(); - const predicateTrue = new Predicate({ - provider, - }); + const predicateTrue = new PredicateTrue(provider); await fundPredicate(wallet, predicateTrue, fundingAmount); @@ -161,12 +159,11 @@ describe('Predicate', () => { provider, } = launched; - const predicateTrue = new Predicate({ - provider, - }); + const predicateTrue = new PredicateTrue(provider); const predicateStruct = new Predicate<[Validation]>({ abi: PredicateMainArgsStruct.abi, + bytecode: PredicateMainArgsStruct.bytecode, provider, }); @@ -208,6 +205,7 @@ describe('Predicate', () => { const predicateValidateTransfer = new Predicate<[BN]>({ abi: PredicateValidateTransfer.abi, + bytecode: PredicateValidateTransfer.bytecode, provider, inputData: [bn(amountToPredicate)], }); @@ -250,6 +248,7 @@ describe('Predicate', () => { const predicateStruct = new Predicate<[Validation]>({ abi: PredicateMainArgsStruct.abi, + bytecode: PredicateMainArgsStruct.bytecode, provider, }); @@ -283,6 +282,7 @@ describe('Predicate', () => { const predicateStruct = new Predicate<[Validation]>({ abi: PredicateMainArgsStruct.abi, + bytecode: PredicateMainArgsStruct.bytecode, provider, }); diff --git a/packages/fuel-gauge/src/predicate/predicate-evaluations.test.ts b/packages/fuel-gauge/src/predicate/predicate-evaluations.test.ts index b8353c88515..78d0601ccef 100644 --- a/packages/fuel-gauge/src/predicate/predicate-evaluations.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-evaluations.test.ts @@ -1,7 +1,7 @@ import { Address, Wallet } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { Predicate, PredicateFalseAbi } from '../../test/typegen/predicates'; +import { PredicateTrue, PredicateFalse } from '../../test/typegen/predicates'; import { assertBalances, fundPredicate } from './utils/predicate'; @@ -22,7 +22,7 @@ describe('Predicate', () => { const receiver = Wallet.generate({ provider }); const initialReceiverBalance = await receiver.getBalance(); - const predicate = Predicate.createInstance(provider); + const predicate = new PredicateTrue(provider); await fundPredicate(wallet, predicate, 200_000); @@ -53,7 +53,7 @@ describe('Predicate', () => { const receiver = Wallet.fromAddress(Address.fromRandom(), provider); - const predicate = PredicateFalseAbi.createInstance(provider); + const predicate = new PredicateFalse(provider); await fundPredicate(wallet, predicate, 200_000); diff --git a/packages/fuel-gauge/src/script-with-vectors.test.ts b/packages/fuel-gauge/src/script-with-vectors.test.ts index 038d2533879..6322f6caa9f 100644 --- a/packages/fuel-gauge/src/script-with-vectors.test.ts +++ b/packages/fuel-gauge/src/script-with-vectors.test.ts @@ -1,10 +1,10 @@ import { launchTestNode } from 'fuels/test-utils'; import { - ScriptWithArrayAbi, - ScriptWithVectorAbi, - ScriptWithVectorAdvancedAbi, - ScriptWithVectorMixedAbi, + ScriptWithArray, + ScriptWithVector, + ScriptWithVectorAdvanced, + ScriptWithVectorMixed, } from '../test/typegen'; /** @@ -20,7 +20,7 @@ describe('Script With Vectors', () => { } = launched; const someArray = [1, 100]; - const scriptInstance = ScriptWithArrayAbi.createInstance(wallet); + const scriptInstance = new ScriptWithArray(wallet); const { waitForResult } = await scriptInstance.functions.main(someArray).call(); const { logs } = await waitForResult(); @@ -36,7 +36,7 @@ describe('Script With Vectors', () => { } = launched; const someVec = [7, 2, 1, 5]; - const scriptInstance = ScriptWithVectorAbi.createInstance(wallet); + const scriptInstance = new ScriptWithVector(wallet); const scriptInvocationScope = scriptInstance.functions.main(someVec); @@ -95,7 +95,7 @@ describe('Script With Vectors', () => { }, ]; - const scriptInstance = ScriptWithVectorMixedAbi.createInstance(wallet); + const scriptInstance = new ScriptWithVectorMixed(wallet); const { waitForResult } = await scriptInstance.functions.main(importantDates).call(); const { value } = await waitForResult(); @@ -166,7 +166,7 @@ describe('Script With Vectors', () => { }, ]; - const scriptInstance = ScriptWithVectorAdvancedAbi.createInstance(wallet); + const scriptInstance = new ScriptWithVectorAdvanced(wallet); const { waitForResult } = await scriptInstance.functions.main(vectorOfStructs).call(); const { value } = await waitForResult(); diff --git a/packages/fuel-gauge/src/vectors.test.ts b/packages/fuel-gauge/src/vectors.test.ts index 5cf2462335f..3e11240b77b 100644 --- a/packages/fuel-gauge/src/vectors.test.ts +++ b/packages/fuel-gauge/src/vectors.test.ts @@ -286,11 +286,11 @@ describe('Vector Tests', () => { using contractInstance = await setupContract(); const INPUT = [ - SmallEnum.Empty, - SmallEnum.Empty, - SmallEnum.Empty, - SmallEnum.Empty, - SmallEnum.Empty, + SmallEnumInput.Empty, + SmallEnumInput.Empty, + SmallEnumInput.Empty, + SmallEnumInput.Empty, + SmallEnumInput.Empty, ]; const { waitForResult } = await contractInstance.functions From fe90637909590025eea6c723edf2253e5b720da9 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Tue, 23 Jul 2024 11:49:41 -0300 Subject: [PATCH 29/95] Adjusting demo application --- .../{contract => demo-contract}/Forc.toml | 1 + .../{contract => demo-contract}/src/main.sw | 0 .../{predicate => demo-predicate}/.gitignore | 0 .../{predicate => demo-predicate}/Forc.toml | 0 .../{predicate => demo-predicate}/src/main.sw | 0 .../{script => demo-script}/.gitignore | 0 .../{script => demo-script}/Forc.toml | 0 .../{script => demo-script}/src/main.sw | 0 apps/demo-typegen/package.json | 15 +++++++-------- apps/demo-typegen/src/demo.test.ts | 16 ++++++++-------- 10 files changed, 16 insertions(+), 16 deletions(-) rename apps/demo-typegen/{contract => demo-contract}/Forc.toml (86%) rename apps/demo-typegen/{contract => demo-contract}/src/main.sw (100%) rename apps/demo-typegen/{predicate => demo-predicate}/.gitignore (100%) rename apps/demo-typegen/{predicate => demo-predicate}/Forc.toml (100%) rename apps/demo-typegen/{predicate => demo-predicate}/src/main.sw (100%) rename apps/demo-typegen/{script => demo-script}/.gitignore (100%) rename apps/demo-typegen/{script => demo-script}/Forc.toml (100%) rename apps/demo-typegen/{script => demo-script}/src/main.sw (100%) diff --git a/apps/demo-typegen/contract/Forc.toml b/apps/demo-typegen/demo-contract/Forc.toml similarity index 86% rename from apps/demo-typegen/contract/Forc.toml rename to apps/demo-typegen/demo-contract/Forc.toml index 2ad1d456633..a1998ef580b 100644 --- a/apps/demo-typegen/contract/Forc.toml +++ b/apps/demo-typegen/demo-contract/Forc.toml @@ -1,5 +1,6 @@ [project] authors = ["Fuel Labs "] +entry = "main.sw" license = "Apache-2.0" name = "demo-contract" diff --git a/apps/demo-typegen/contract/src/main.sw b/apps/demo-typegen/demo-contract/src/main.sw similarity index 100% rename from apps/demo-typegen/contract/src/main.sw rename to apps/demo-typegen/demo-contract/src/main.sw diff --git a/apps/demo-typegen/predicate/.gitignore b/apps/demo-typegen/demo-predicate/.gitignore similarity index 100% rename from apps/demo-typegen/predicate/.gitignore rename to apps/demo-typegen/demo-predicate/.gitignore diff --git a/apps/demo-typegen/predicate/Forc.toml b/apps/demo-typegen/demo-predicate/Forc.toml similarity index 100% rename from apps/demo-typegen/predicate/Forc.toml rename to apps/demo-typegen/demo-predicate/Forc.toml diff --git a/apps/demo-typegen/predicate/src/main.sw b/apps/demo-typegen/demo-predicate/src/main.sw similarity index 100% rename from apps/demo-typegen/predicate/src/main.sw rename to apps/demo-typegen/demo-predicate/src/main.sw diff --git a/apps/demo-typegen/script/.gitignore b/apps/demo-typegen/demo-script/.gitignore similarity index 100% rename from apps/demo-typegen/script/.gitignore rename to apps/demo-typegen/demo-script/.gitignore diff --git a/apps/demo-typegen/script/Forc.toml b/apps/demo-typegen/demo-script/Forc.toml similarity index 100% rename from apps/demo-typegen/script/Forc.toml rename to apps/demo-typegen/demo-script/Forc.toml diff --git a/apps/demo-typegen/script/src/main.sw b/apps/demo-typegen/demo-script/src/main.sw similarity index 100% rename from apps/demo-typegen/script/src/main.sw rename to apps/demo-typegen/demo-script/src/main.sw diff --git a/apps/demo-typegen/package.json b/apps/demo-typegen/package.json index 0869ed7dc9a..9ce2943d96a 100644 --- a/apps/demo-typegen/package.json +++ b/apps/demo-typegen/package.json @@ -6,13 +6,13 @@ "scripts": { "pretest": "run-s build:forc build:types", "build:forc": "run-p forc:*", - "forc:contract": "pnpm fuels-forc build -p contract --release", - "forc:script": "pnpm fuels-forc build -p script --release", - "forc:predicate": "pnpm fuels-forc build -p predicate --release", + "forc:contract": "pnpm fuels-forc build -p demo-contract --release", + "forc:script": "pnpm fuels-forc build -p demo-script --release", + "forc:predicate": "pnpm fuels-forc build -p demo-predicate --release", "build:types": "run-p types:*", - "types:contract": "pnpm fuels typegen -i contract/out/release/demo-contract-abi.json -o src/contract-types", - "types:script": "pnpm fuels typegen -i script/out/release/script-abi.json -o src/script-types --script", - "types:predicate": "pnpm fuels typegen -i predicate/out/release/predicate-abi.json -o src/predicate-types --predicate" + "types:contract": "pnpm fuels typegen -i demo-contract/out/release/demo-contract-abi.json -o src/contract-types", + "types:script": "pnpm fuels typegen -i demo-script/out/release/demo-script-abi.json -o src/script-types --script", + "types:predicate": "pnpm fuels typegen -i demo-predicate/out/release/demo-predicate-abi.json -o src/predicate-types --predicate" }, "license": "Apache-2.0", "dependencies": { @@ -22,6 +22,5 @@ "@fuel-ts/account": "workspace:*", "@fuel-ts/errors": "workspace:*", "@internal/forc": "workspace:*" - }, - "version": null + } } diff --git a/apps/demo-typegen/src/demo.test.ts b/apps/demo-typegen/src/demo.test.ts index ebece3622f6..ee97d6f90bb 100644 --- a/apps/demo-typegen/src/demo.test.ts +++ b/apps/demo-typegen/src/demo.test.ts @@ -2,12 +2,12 @@ import { toHex, Address, Wallet } from 'fuels'; import { launchTestNode, safeExec } from 'fuels/test-utils'; -import storageSlots from '../contract/out/release/demo-contract-storage_slots.json'; +import storageSlots from '../demo-contract/out/release/demo-contract-storage_slots.json'; import { DemoContract, DemoContractFactory } from './contract-types'; -import type { PredicateInputs } from './predicate-types'; -import { Predicate } from './predicate-types'; -import { Script } from './script-types'; +import { DemoPredicate } from './predicate-types'; +import type { DemoPredicateInputs } from './predicate-types/DemoPredicate'; +import { DemoScript } from './script-types'; /** * @group node @@ -138,7 +138,7 @@ test('Example script', async () => { // #region typegen-demo-script // #context import { ScriptAbi } from './types'; - const script = new Script(wallet); + const script = new DemoScript(wallet); const { waitForResult } = await script.functions.main().call(); const { value } = await waitForResult(); // #endregion typegen-demo-script @@ -160,10 +160,10 @@ test('Example predicate', async () => { const receiver = Wallet.fromAddress(Address.fromRandom(), provider); - const predicateData: PredicateInputs = []; - const predicate = new Predicate(provider, predicateData); + const predicateData: DemoPredicateInputs = []; + const predicate = new DemoPredicate(provider, predicateData); - const tx = await wallet.transfer(predicate., 200_000, provider.getBaseAssetId()); + const tx = await wallet.transfer(predicate.address, 200_000, provider.getBaseAssetId()); const { isStatusSuccess } = await tx.wait(); // Then we are transferring some coins from the predicate to a random address (receiver) From 5ad6c9bc6ea1b2e385258bfe1c62a4f88bc0985a Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Tue, 23 Jul 2024 11:49:59 -0300 Subject: [PATCH 30/95] Fixing isolated test --- packages/fuel-gauge/src/e2e-script.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/fuel-gauge/src/e2e-script.test.ts b/packages/fuel-gauge/src/e2e-script.test.ts index 16021b3e1b4..732d4748d47 100644 --- a/packages/fuel-gauge/src/e2e-script.test.ts +++ b/packages/fuel-gauge/src/e2e-script.test.ts @@ -81,7 +81,7 @@ describe.each(selectedNetworks)('Live Script Test', (selectedNetwork) => { return; } - const scriptInstance = ScriptMainArgBool.createInstance(wallet); + const scriptInstance = new ScriptMainArgBool(wallet); let output: boolean = false; try { From 8c8c9457afb70a3ced579c3cbbac5120a29ee1fc Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Tue, 23 Jul 2024 11:50:09 -0300 Subject: [PATCH 31/95] Replacing enums --- packages/fuel-gauge/src/vectors.test.ts | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/packages/fuel-gauge/src/vectors.test.ts b/packages/fuel-gauge/src/vectors.test.ts index 3e11240b77b..b2481f18814 100644 --- a/packages/fuel-gauge/src/vectors.test.ts +++ b/packages/fuel-gauge/src/vectors.test.ts @@ -2,15 +2,12 @@ import { bn, randomBytes, hexlify } from 'fuels'; import type { BN } from 'fuels'; import { VectorsFactory } from '../test/typegen/contracts'; +import { SmallEnumInput } from '../test/typegen/contracts/CoverageContract'; import { launchTestContract } from './utils'; const toNumbers = (nums: BN[]) => nums.map((num: BN) => bn(num).toNumber()); -enum SmallEnum { - Empty = 'Empty', -} - function setupContract() { return launchTestContract({ factory: VectorsFactory, From a68430304f577b0e1346c7f4488d10a0916572aa Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Tue, 23 Jul 2024 12:12:53 -0300 Subject: [PATCH 32/95] Fixing script instantiation --- templates/nextjs/test/script.test.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/nextjs/test/script.test.ts b/templates/nextjs/test/script.test.ts index e58df509f94..729a51a60f5 100644 --- a/templates/nextjs/test/script.test.ts +++ b/templates/nextjs/test/script.test.ts @@ -7,7 +7,7 @@ import { describe, test, expect } from 'vitest'; * * Can't find these imports? Make sure you've run `fuels build` to generate these with typegen. */ -import { TestScriptAbi } from '../src/sway-api'; +import { TestScript } from '../src/sway-api'; /** * @group node @@ -29,7 +29,7 @@ describe('Script', () => { } = launched; // Now, we can instantiate our script. - const script = TestScriptAbi.createInstance(sender); + const script = new TestScript(sender); // Lets also setup a value to use in the test. const expectedValue = 1337; From 495b9a56e402429f648e80992659e2c98925dbf6 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Tue, 23 Jul 2024 15:39:54 -0300 Subject: [PATCH 33/95] Fixing more tests --- apps/demo-bun-fuels/src/bun.test.ts | 6 +++--- .../src/guide/create-fuels/decrement_counter.test.ts | 2 +- .../src/guide/testing/launching-a-test-node.test.ts | 12 +++--------- packages/abi-typegen/src/templates/common/index.ts | 2 +- 4 files changed, 8 insertions(+), 14 deletions(-) diff --git a/apps/demo-bun-fuels/src/bun.test.ts b/apps/demo-bun-fuels/src/bun.test.ts index 34f598980b6..049e02e1447 100644 --- a/apps/demo-bun-fuels/src/bun.test.ts +++ b/apps/demo-bun-fuels/src/bun.test.ts @@ -5,7 +5,7 @@ * It ensures that built code is fully working. */ -import { ContractFactory, Provider, toHex, Wallet, FUEL_NETWORK_URL } from 'fuels'; +import { Provider, toHex, Wallet, FUEL_NETWORK_URL } from 'fuels'; import { generateTestWallet, safeExec } from 'fuels/test-utils'; import { Sample, SampleFactory } from './sway-programs-api'; @@ -71,7 +71,7 @@ describe('ExampleContract', () => { const fundedWallet = await generateTestWallet(provider, [[500_000, baseAssetId]]); const unfundedWallet = Wallet.generate({ provider }); - const deploy = await SampleFactory.deploy(wallet); + const deploy = await SampleFactory.deploy(fundedWallet); const { contract } = await deploy.waitForResult(); const contractInstance = new Sample(contract.id, unfundedWallet); @@ -105,7 +105,7 @@ describe('ExampleContract', () => { sample: depoloyed.id, }; - const contract = SampleAbi.connect(contractsIds.sample, wallet); + const contract = new Sample(contractsIds.sample, wallet); const { value } = await contract.functions.return_input(1337).dryRun(); diff --git a/apps/docs-snippets/src/guide/create-fuels/decrement_counter.test.ts b/apps/docs-snippets/src/guide/create-fuels/decrement_counter.test.ts index b2dc45af53d..578b2367db7 100644 --- a/apps/docs-snippets/src/guide/create-fuels/decrement_counter.test.ts +++ b/apps/docs-snippets/src/guide/create-fuels/decrement_counter.test.ts @@ -20,7 +20,7 @@ describe('Counter Contract', () => { // because we are instantiating it with the `using` keyword. contractsConfigs: [ { - deployer: CounterFactory, + factory: CounterFactory, }, ], }); diff --git a/apps/docs-snippets/src/guide/testing/launching-a-test-node.test.ts b/apps/docs-snippets/src/guide/testing/launching-a-test-node.test.ts index e6c359e04df..1f6a9285be6 100644 --- a/apps/docs-snippets/src/guide/testing/launching-a-test-node.test.ts +++ b/apps/docs-snippets/src/guide/testing/launching-a-test-node.test.ts @@ -3,7 +3,7 @@ import { WalletUnlocked } from 'fuels'; import { AssetId, TestMessage, launchTestNode } from 'fuels/test-utils'; import { join } from 'path'; -import { CounterAbi as TestContract } from '../../../test/typegen/contracts'; +import { Counter, CounterFactory } from '../../../test/typegen/contracts'; /** * @group node @@ -54,12 +54,7 @@ describe('launching a test node', () => { // #context import bytecode from 'path/to/typegen/output/TestContract.hex.ts'; using launched = await launchTestNode({ - contractsConfigs: [ - { - deployer: TestContractFactory, - bytecode, - }, - ], + contractsConfigs: [{ factory: CounterFactory }], }); const { @@ -96,8 +91,7 @@ describe('launching a test node', () => { }, contractsConfigs: [ { - deployer: TestContractFactory, - bytecode, + factory: CounterFactory, walletIndex: 3, options: { storageSlots: [] }, }, diff --git a/packages/abi-typegen/src/templates/common/index.ts b/packages/abi-typegen/src/templates/common/index.ts index e5b2fab5b9a..10fcce9dc89 100644 --- a/packages/abi-typegen/src/templates/common/index.ts +++ b/packages/abi-typegen/src/templates/common/index.ts @@ -3,7 +3,7 @@ import { renderHbsTemplate } from '../renderHbsTemplate'; import indexTemplate from './index.hbs'; -export function renderIndexTemplate(params: { files: IFile[] }) { +export function renderIndexTemplate(params: { files: Pick[] }) { const { files } = params; const members = files.map((f) => f.path.match(/([^/]+)\.ts$/m)?.[1]); From 9d07da0d2e664da40914d041554da3cabaf451db Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Tue, 23 Jul 2024 18:23:01 -0300 Subject: [PATCH 34/95] Reviewing templates; adjusting tests and fixtures --- .../src/templates/common/index.test.ts | 46 ++----------------- .../src/templates/contract/factory.hbs | 3 +- .../src/templates/contract/factory.test.ts | 1 + .../src/templates/contract/main.hbs | 6 ++- .../src/templates/contract/main.test.ts | 3 -- .../contract-with-configurable/main.hbs | 6 ++- .../fixtures/templates/contract/factory.hbs | 8 +++- .../test/fixtures/templates/contract/main.hbs | 6 ++- 8 files changed, 25 insertions(+), 54 deletions(-) diff --git a/packages/abi-typegen/src/templates/common/index.test.ts b/packages/abi-typegen/src/templates/common/index.test.ts index e5f85e35a4f..d74f06401ea 100644 --- a/packages/abi-typegen/src/templates/common/index.test.ts +++ b/packages/abi-typegen/src/templates/common/index.test.ts @@ -1,12 +1,4 @@ -import { - AbiTypegenProjectsEnum, - getTypegenForcProject, -} from '../../../test/fixtures/forc-projects/index'; -import contractIndexTemplate from '../../../test/fixtures/templates/contract/index.hbs'; -import predicateIndexTemplate from '../../../test/fixtures/templates/predicate/index.hbs'; import { mockVersions } from '../../../test/utils/mockVersions'; -import { Abi } from '../../abi/Abi'; -import { ProgramTypeEnum } from '../../types/enums/ProgramTypeEnum'; import { renderIndexTemplate } from './index'; @@ -19,44 +11,14 @@ describe('templates/index', () => { const { restore } = mockVersions(); // executing - const project = getTypegenForcProject(AbiTypegenProjectsEnum.MINIMAL); - const rawContents = project.abiContents; + const files = [{ path: './Contract.ts' }, { path: './ContractFactory.ts' }]; - const abi = new Abi({ - filepath: './my-contract-abi.json', - outputDir: 'stdout', - rawContents, - programType: ProgramTypeEnum.CONTRACT, - }); - - const rendered = renderIndexTemplate({ abis: [abi] }); - - // validating - restore(); - - expect(rendered.trim()).toEqual(contractIndexTemplate.trim()); - }); - - test('should render index template for predicates', () => { - // mocking - const { restore } = mockVersions(); - - // executing - const project = getTypegenForcProject(AbiTypegenProjectsEnum.PREDICATE); - const rawContents = project.abiContents; - - const abi = new Abi({ - filepath: './my-predicate-abi.json', - outputDir: 'stdout', - rawContents, - programType: ProgramTypeEnum.PREDICATE, - }); - - const rendered = renderIndexTemplate({ abis: [abi] }); + const rendered = renderIndexTemplate({ files }); // validating restore(); - expect(rendered.trim()).toEqual(predicateIndexTemplate.trim()); + expect(rendered).toContain(`export { Contract } from './Contract';`); + expect(rendered).toContain(`export { ContractFactory } from './ContractFactory';`); }); }); diff --git a/packages/abi-typegen/src/templates/contract/factory.hbs b/packages/abi-typegen/src/templates/contract/factory.hbs index 1c1c331022b..ee2073b037e 100644 --- a/packages/abi-typegen/src/templates/contract/factory.hbs +++ b/packages/abi-typegen/src/templates/contract/factory.hbs @@ -2,9 +2,10 @@ import { ContractFactory } from "fuels"; import type { Provider, Account, DeployContractOptions, DeployContractResult } from "fuels"; + import { {{capitalizedName}} } from "./{{capitalizedName}}"; -export const bytecode = "{{hexlifiedBinString}}"; +const bytecode = "{{hexlifiedBinString}}"; export class {{capitalizedName}}Factory extends ContractFactory { diff --git a/packages/abi-typegen/src/templates/contract/factory.test.ts b/packages/abi-typegen/src/templates/contract/factory.test.ts index fc7fd116af9..6769ed89644 100644 --- a/packages/abi-typegen/src/templates/contract/factory.test.ts +++ b/packages/abi-typegen/src/templates/contract/factory.test.ts @@ -26,6 +26,7 @@ describe('templates/factory', () => { filepath: './my-contract-abi.json', outputDir: 'stdout', rawContents, + hexlifiedBinContents: '0x-bytecode-here', programType: ProgramTypeEnum.CONTRACT, }); diff --git a/packages/abi-typegen/src/templates/contract/main.hbs b/packages/abi-typegen/src/templates/contract/main.hbs index 4035c5403f7..3275ba31f45 100644 --- a/packages/abi-typegen/src/templates/contract/main.hbs +++ b/packages/abi-typegen/src/templates/contract/main.hbs @@ -1,10 +1,12 @@ {{header}} import { Contract, Interface } from "fuels"; -import type { Provider, Account, StorageSlot, AbstractAddress } from "fuels"; - {{#if imports}} import type { + Provider, + Account, + StorageSlot, + AbstractAddress, {{#each imports}} {{this}}, {{/each}} diff --git a/packages/abi-typegen/src/templates/contract/main.test.ts b/packages/abi-typegen/src/templates/contract/main.test.ts index fadcdf57efa..d12ff6f1c0c 100644 --- a/packages/abi-typegen/src/templates/contract/main.test.ts +++ b/packages/abi-typegen/src/templates/contract/main.test.ts @@ -1,6 +1,3 @@ -import { writeFileSync } from 'fs'; -import { join } from 'path'; - import { AbiTypegenProjectsEnum, getTypegenForcProject, diff --git a/packages/abi-typegen/test/fixtures/templates/contract-with-configurable/main.hbs b/packages/abi-typegen/test/fixtures/templates/contract-with-configurable/main.hbs index 9929f48aec7..9841ff10a78 100644 --- a/packages/abi-typegen/test/fixtures/templates/contract-with-configurable/main.hbs +++ b/packages/abi-typegen/test/fixtures/templates/contract-with-configurable/main.hbs @@ -8,9 +8,11 @@ */ import { Contract, Interface } from "fuels"; -import type { Provider, Account, StorageSlot, AbstractAddress } from "fuels"; - import type { + Provider, + Account, + StorageSlot, + AbstractAddress, FunctionFragment, InvokeFunction, } from 'fuels'; diff --git a/packages/abi-typegen/test/fixtures/templates/contract/factory.hbs b/packages/abi-typegen/test/fixtures/templates/contract/factory.hbs index fa77a9625b6..a0d906afa9c 100644 --- a/packages/abi-typegen/test/fixtures/templates/contract/factory.hbs +++ b/packages/abi-typegen/test/fixtures/templates/contract/factory.hbs @@ -9,13 +9,17 @@ import { ContractFactory } from "fuels"; import type { Provider, Account, DeployContractOptions, DeployContractResult } from "fuels"; + import { MyContract } from "./MyContract"; -export const myContractBytecode = "0x1af030007400000200000000000006785dffc00110ffff00740000001aec5000910003407240004a5fed00011a4060005fed005f5d47b05f5d43b001724800081b412400104114005fed00615d43b0611ae9000020f8330058fbe00250fbe004740001191a43d0005fed00635d43b0635047b0205fed00045043b1c872480008284114805047b2787248000828450480724000495fed00001a4060005fed00605d43b0605d47b000724800081b452440104104405fed00625d43b0621ae9000020f8330058fbe00250fbe004740000fe1a43d0005fed00645d43b0645047b0605fed000c5043b1d072480008284114805047b2b072480008284504805043b2b01ae9000020f8330058fbe00250fbe004740000ff1a47d0005fed105d5047b2e85d4bb05d504fb03872500008284d05005051300872540008285115405047b33072500010284535005d4500001b481480104514805f4110005043b3305047b1d872480010284504805043b2d072480010284114805043b2d05047b15872480010284504801ae9100020f8330058fbe00250fbe004740000f31a43d0005047b2e8504bb0285fed000550412008724c0008284114c05043b1f872440010284124405047b20872480010284504805d43f002104100c0504bb280724c0010284914c0504bb2805047b0105fed00027240000c5fed0003504fb0b072400010284d14005043b17872440010284124401ae9000020f8330058fbe00250fbe004740000e61a43d0005047b18872500010284535001ae9100020f8330058fbe00250fbe004740000dd1a47d00013410440134500001a400000764400225043b1a872440010284124401ae9000020f8330058fbe00250fbe004740000e81a43d0005fed00655043b1b872440010284134401ae9000020f8330058fbe00250fbe004740000de1a43d0005fed005e5043b19872440010284124401ae9000020f8330058fbe00250fbe004740000bc1a43d0005fed005c5d43b0655d47b05e5d4bb05c2941045276400001740000765043b2781ae9000020f8330058fbe00250fbe004740000841a43d0005047b0805fed00105043b21872480008284114805047b22072480008284504805043b2a872480008284114805d43b0555fed00525043b29072440400264400001a447000504bb0885fed1011724404005fed10125fec00135047b0c0724c0018284524c0504bb228724c0018284914c05047b118724c0018284524c0504bb048724c0018284914c05d53b0095d4fb00a5d47b00b7248000810491480154924c07648000174000005724800021b4d3480264c0000281d44401a50700010494440725400082849054072400008104114005047b0d85fed401b5fed301c5fed001d5043b10072480018284114805047b24072480018284504805043b2b872480018284114805043b2b85047b13072480018284504805043b06872480018284114805d47b00d50410010504bb0f05fed101e50452008724c0008284504c05043b25872440010284124405047b26872480010284504805043b29872480010284114805043b2985047b16872480010284504801ae9100020f8330058fbe00250fbe004740000371a43d0005047b298504bb148724c0010284914c05047b1e8724c0010284524c0504bb0a0724c0010284914c05d47b01512451040254110007240007b3640000095000007960800001aec50001a43a0001a47e000760000077248000813492040764800025d410000740000015c410000740000001af500001af9100098080000970000074af800009500000f960800001aec5000910000081a43a0001a47e0005d4900005d4920005fed20005d490000724c00081b4c14c0104924c05f4120005d43b0001af50000920000081af91000980800009700000f4af800009500000f960800001aec5000910000301a43a0001a47e000504bb010724c0010284904c05043b020724c0010284124c07248001028ed04805d43b0041af50000920000301af91000980800009700000f4af800009500000f960800001aec5000910000281a43a0001a47e0007248001028ed04801a43b000504bb010724c0010284904c05043b01050410008504bb020724c0008284904c05d43b0031af50000920000281af91000980800009700000f4af800009500000f960800001aec5000910000281a43a0001a47e0007248001028ed04801a43b000504bb010724c0010284904c05043b010504bb020724c0008284904c05d43b0021af50000920000281af91000980800009700000f4af800004700000072657475726e5f696e7075740000000000000000000004a8"; +const bytecode = "0x-bytecode-here"; export class MyContractFactory extends ContractFactory { + + static readonly bytecode = bytecode; + constructor(accountOrProvider: Account | Provider) { - super(myContractBytecode, MyContract.abi, accountOrProvider); + super(bytecode, MyContract.abi, accountOrProvider); } static async deploy ( diff --git a/packages/abi-typegen/test/fixtures/templates/contract/main.hbs b/packages/abi-typegen/test/fixtures/templates/contract/main.hbs index 7a3234b24ee..87d34a937e8 100644 --- a/packages/abi-typegen/test/fixtures/templates/contract/main.hbs +++ b/packages/abi-typegen/test/fixtures/templates/contract/main.hbs @@ -8,9 +8,11 @@ */ import { Contract, Interface } from "fuels"; -import type { Provider, Account, StorageSlot, AbstractAddress } from "fuels"; - import type { + Provider, + Account, + StorageSlot, + AbstractAddress, BigNumberish, BN, Bytes, From 27b8b189a374bfb56c63baf00a9aead721a905f1 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Tue, 23 Jul 2024 18:24:20 -0300 Subject: [PATCH 35/95] Fixing more gauge tests --- packages/fuel-gauge/src/policies.test.ts | 5 +++-- .../src/predicate/predicate-configurables.test.ts | 5 +++-- .../src/predicate/predicate-with-contract.test.ts | 6 +++--- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/packages/fuel-gauge/src/policies.test.ts b/packages/fuel-gauge/src/policies.test.ts index 1735b817731..51ed2913eac 100644 --- a/packages/fuel-gauge/src/policies.test.ts +++ b/packages/fuel-gauge/src/policies.test.ts @@ -155,14 +155,15 @@ describe('Policies', () => { wallets: [wallet], } = launched; - const factory = new ScriptMainArgs(wallet); - const txParams: CustomTxParams = { tip: 11, witnessLimit: 2000, maxFee: 70_000, }; + // QUESTION: why use script stuff in a contract factorty? + const factory = new ContractFactory(ScriptMainArgs.bytecode, ScriptMainArgs.abi, wallet); + const { transactionRequest: txRequest } = factory.createTransactionRequest(txParams); const txCost = await provider.getTransactionCost(txRequest); diff --git a/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts b/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts index 5af388ad4ca..647e7af8c27 100644 --- a/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts @@ -269,8 +269,9 @@ describe('Predicate', () => { expect(() => { // eslint-disable-next-line @typescript-eslint/no-unused-vars const predicate = new Predicate({ - abi: PredicateTrue.abi, - bytecode: PredicateTrue.bytecode, + // Question: Should `abi` be optional for Predicates? + // abi: PredicateWithConfigurable.abi, + bytecode: PredicateWithConfigurable.bytecode, provider, inputData: ['NADA'], configurableConstants: { diff --git a/packages/fuel-gauge/src/predicate/predicate-with-contract.test.ts b/packages/fuel-gauge/src/predicate/predicate-with-contract.test.ts index 64b1151f239..505de4ebee9 100644 --- a/packages/fuel-gauge/src/predicate/predicate-with-contract.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-with-contract.test.ts @@ -2,7 +2,7 @@ import { Contract, Wallet } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; import { CallTestContractFactory, TokenContractFactory } from '../../test/typegen/contracts'; -import { PredicateMainArgsStruct } from '../../test/typegen/predicates'; +import { PredicateTrue } from '../../test/typegen/predicates'; import { fundPredicate } from './utils/predicate'; @@ -24,7 +24,7 @@ describe('Predicate', () => { } = launched; const amountToPredicate = 300_000; - const predicate = new PredicateMainArgsStruct(provider); + const predicate = new PredicateTrue(provider); // Create a instance of the contract with the predicate as the caller Account const contractPredicate = new Contract(contract.id, contract.interface, predicate); @@ -66,7 +66,7 @@ describe('Predicate', () => { // setup predicate const amountToPredicate = 1_000_000; const amountToReceiver = 200_000; - const predicate = new PredicateMainArgsStruct(provider, [ + const predicate = new PredicateTrue(provider, [ { has_account: true, total_complete: 100, From 165a50f2dab8048f22d54202b5ef69aaa3f7cf5e Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Tue, 23 Jul 2024 18:24:30 -0300 Subject: [PATCH 36/95] Fixing imports --- templates/nextjs/test/predicate.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/nextjs/test/predicate.test.ts b/templates/nextjs/test/predicate.test.ts index 21a0d1694c8..f4ca84a724f 100644 --- a/templates/nextjs/test/predicate.test.ts +++ b/templates/nextjs/test/predicate.test.ts @@ -7,7 +7,7 @@ import { describe, test, expect } from 'vitest'; * * Can't find these imports? Make sure you've run `fuels build` to generate these with typegen. */ -import { TestPredicate, TestPredicateInputs } from '../src/sway-api'; +import { TestPredicate, TestPredicateInputs } from '@/sway-api/predicates/TestPredicate'; /** * @group node From d4bdfc173c7829e030418f210216a3e823c0d74c Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Tue, 23 Jul 2024 18:24:44 -0300 Subject: [PATCH 37/95] Adjusting broken test assertions --- packages/fuels/test/features/build.test.ts | 24 +++++++++------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/packages/fuels/test/features/build.test.ts b/packages/fuels/test/features/build.test.ts index 3e9a29a1a41..7743bc21011 100644 --- a/packages/fuels/test/features/build.test.ts +++ b/packages/fuels/test/features/build.test.ts @@ -48,16 +48,14 @@ describe( await runBuild({ root: paths.root }); const files = [ - 'predicates/factories/PredicateTrueAbi.ts', + 'predicates/PredicateTrue.ts', 'predicates/index.ts', - 'contracts/BarFooAbi.d.ts', - 'contracts/BarFooAbi.hex.ts', - 'contracts/FooBarAbi.hex.ts', - 'contracts/FooBarAbi.d.ts', - 'contracts/factories/FooBarAbi.ts', - 'contracts/factories/BarFooAbi.ts', + 'contracts/BarFoo.ts', + 'contracts/FooBar.ts', + 'contracts/FooBarFactory.ts', + 'contracts/BarFooFactory.ts', 'contracts/index.ts', - 'scripts/factories/ScriptTrueAbi.ts', + 'scripts/ScriptTrue.ts', 'scripts/index.ts', 'index.ts', ].map((f) => join(paths.outputDir, f)); @@ -85,9 +83,8 @@ describe( await runBuild({ root: paths.root }); const files = [ - 'contracts/FooBarAbi.hex.ts', - 'contracts/FooBarAbi.d.ts', - 'contracts/factories/FooBarAbi.ts', + 'contracts/FooBar.ts', + 'contracts/FooBarFactory.ts', 'contracts/index.ts', 'index.ts', ].map((f) => join(paths.outputDir, f)); @@ -142,9 +139,8 @@ describe( await runBuild({ root: paths.root }); const files = [ - 'contracts/FooBarAbi.hex.ts', - 'contracts/FooBarAbi.d.ts', - 'contracts/factories/FooBarAbi.ts', + 'contracts/FooBar.ts', + 'contracts/FooBarFactory.ts', 'contracts/index.ts', 'index.ts', ].map((f) => join(paths.outputDir, f)); From 1a9af921cfffad2ca255728571fc8b0b367bfc53 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Tue, 23 Jul 2024 18:35:41 -0300 Subject: [PATCH 38/95] Using relative import --- templates/nextjs/test/predicate.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/nextjs/test/predicate.test.ts b/templates/nextjs/test/predicate.test.ts index f4ca84a724f..c154fe59a03 100644 --- a/templates/nextjs/test/predicate.test.ts +++ b/templates/nextjs/test/predicate.test.ts @@ -7,7 +7,7 @@ import { describe, test, expect } from 'vitest'; * * Can't find these imports? Make sure you've run `fuels build` to generate these with typegen. */ -import { TestPredicate, TestPredicateInputs } from '@/sway-api/predicates/TestPredicate'; +import { TestPredicate, TestPredicateInputs } from '../src/sway-api/predicates/TestPredicate'; /** * @group node From 15de7943102ddb85bae1c56da0c91fd69bfd37d0 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Tue, 23 Jul 2024 18:35:59 -0300 Subject: [PATCH 39/95] =?UTF-8?q?Adding=20=E2=80=9Ctest=E2=80=9D=20dir=20t?= =?UTF-8?q?o=20list=20do=20directories?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- templates/nextjs/tsconfig.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/templates/nextjs/tsconfig.json b/templates/nextjs/tsconfig.json index 2e9f1202024..1d800d8b40a 100644 --- a/templates/nextjs/tsconfig.json +++ b/templates/nextjs/tsconfig.json @@ -22,6 +22,12 @@ } ] }, - "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"], + "include": [ + "next-env.d.ts", + "**/*.ts", + "**/*.tsx", + ".next/types/**/*.ts", + "test" + ], "exclude": ["node_modules"] } From 6d89cfd13eb17ec560493d2a215159df0c897511 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Tue, 23 Jul 2024 19:17:48 -0300 Subject: [PATCH 40/95] Merge branch 'master' into aa/feat/typegen-prettify --- .changeset/blue-shirts-scream.md | 4 + .changeset/cyan-chicken-jam.md | 4 + .changeset/good-pants-rule.md | 5 + .changeset/honest-onions-vanish.md | 4 + .changeset/mighty-crews-vanish.md | 4 + .changeset/modern-rats-walk.md | 4 + .changeset/short-sheep-divide.md | 8 + .changeset/tall-planes-nail.md | 8 + .changeset/tasty-fireants-switch.md | 5 + .changeset/three-moles-drop.md | 4 + .github/ISSUE_TEMPLATE/1-bug.yaml | 62 + .github/ISSUE_TEMPLATE/2-feature.yaml | 23 + .github/ISSUE_TEMPLATE/bug.yaml | 44 - .github/ISSUE_TEMPLATE/config.yaml | 1 + .github/ISSUE_TEMPLATE/feature.yaml | 18 - .github/pull_request_template.md | 13 +- apps/create-fuels-counter-guide/package.json | 6 +- apps/demo-bun-fuels/package.json | 2 +- apps/demo-nextjs/package.json | 2 +- apps/demo-nodejs-esm/package.json | 4 +- apps/demo-react-cra/package.json | 2 +- apps/demo-react-vite/package.json | 4 +- apps/demo-wallet-sdk-react/package.json | 6 +- apps/demo-wallet-sdk-react/pages/_app.tsx | 24 +- ...custom-transactions-contract-calls.test.ts | 2 +- .../cookbook/signing-transactions.test.ts | 3 +- .../guide/encoding/encode-and-decode.test.ts | 2 +- .../interacting-with-predicates.test.ts | 12 +- .../guide/provider/querying-the-chain.test.ts | 119 +- .../scripts/script-custom-transaction.test.ts | 2 +- .../transactions/transaction-response.test.ts | 4 +- .../src/guide/wallets/signing.test.ts | 4 +- apps/docs-snippets/src/utils.ts | 2 +- apps/docs/package.json | 2 +- .../src/guide/contracts/cost-estimation.md | 4 +- .../guide/contracts/deploying-contracts.md | 2 + apps/docs/src/guide/errors/index.md | 10 +- apps/docs/src/guide/fuels-cli/commands.md | 2 + .../src/guide/provider/querying-the-chain.md | 19 +- internal/check-imports/package.json | 2 +- internal/check-tests/package.json | 2 +- package.json | 14 +- .../src/templates/contract/main.hbs | 4 +- .../src/templates/predicate/main.hbs | 4 +- .../abi-typegen/src/templates/script/main.hbs | 4 +- .../predicate-with-configurable/main.hbs | 4 +- .../fixtures/templates/predicate/main.hbs | 4 +- .../script-with-configurable/main.hbs | 4 +- packages/account/src/account.test.ts | 2 +- packages/account/src/account.ts | 54 +- .../account/src/providers/provider.test.ts | 21 +- packages/account/src/providers/provider.ts | 83 +- .../transaction-request.test.ts | 8 +- .../providers/transaction-request/utils.ts | 5 +- .../transaction-summary/operations.test.ts | 2 +- .../transaction-summary/operations.ts | 4 +- packages/account/src/test-utils/launchNode.ts | 6 +- .../account/src/test-utils/seedTestWallet.ts | 2 +- packages/contract/src/contract-factory.ts | 17 +- packages/contract/src/util.ts | 3 + packages/errors/src/error-codes.ts | 3 +- .../fuel-gauge/src/advanced-logging.test.ts | 8 +- .../fuel-gauge/src/contract-factory.test.ts | 18 + packages/fuel-gauge/src/contract.test.ts | 3 +- .../fuel-gauge/src/coverage-contract.test.ts | 2 +- packages/fuel-gauge/src/fee.test.ts | 7 +- .../src/funding-transaction.test.ts | 14 +- packages/fuel-gauge/src/min-gas.test.ts | 10 +- packages/fuel-gauge/src/policies.test.ts | 17 +- .../src/predicate-conditional-inputs.test.ts | 4 +- .../predicate/predicate-configurables.test.ts | 42 + .../utils/predicate/fundPredicate.ts | 2 +- packages/fuel-gauge/src/revert-error.test.ts | 3 +- .../src/script-with-configurable.test.ts | 9 +- .../src/transaction-response.test.ts | 4 +- .../src/transaction-summary.test.ts | 6 +- packages/fuels/package.json | 2 +- packages/interfaces/src/index.ts | 2 + .../src/functions/base-invocation-scope.ts | 20 +- packages/script/src/script.test.ts | 2 +- .../transactions/src/coders/transaction.ts | 8 +- .../src/coders/upgrade-purpose.ts | 8 +- pnpm-lock.yaml | 4958 ++++++++++------- templates/nextjs/package.json | 6 +- 84 files changed, 3445 insertions(+), 2412 deletions(-) create mode 100644 .changeset/blue-shirts-scream.md create mode 100644 .changeset/cyan-chicken-jam.md create mode 100644 .changeset/good-pants-rule.md create mode 100644 .changeset/honest-onions-vanish.md create mode 100644 .changeset/mighty-crews-vanish.md create mode 100644 .changeset/modern-rats-walk.md create mode 100644 .changeset/short-sheep-divide.md create mode 100644 .changeset/tall-planes-nail.md create mode 100644 .changeset/tasty-fireants-switch.md create mode 100644 .changeset/three-moles-drop.md create mode 100644 .github/ISSUE_TEMPLATE/1-bug.yaml create mode 100644 .github/ISSUE_TEMPLATE/2-feature.yaml delete mode 100644 .github/ISSUE_TEMPLATE/bug.yaml create mode 100644 .github/ISSUE_TEMPLATE/config.yaml delete mode 100644 .github/ISSUE_TEMPLATE/feature.yaml diff --git a/.changeset/blue-shirts-scream.md b/.changeset/blue-shirts-scream.md new file mode 100644 index 00000000000..fa56d9b669a --- /dev/null +++ b/.changeset/blue-shirts-scream.md @@ -0,0 +1,4 @@ +--- +--- + +build(deps): bump @types/node from 16.18.34 to 20.14.11 diff --git a/.changeset/cyan-chicken-jam.md b/.changeset/cyan-chicken-jam.md new file mode 100644 index 00000000000..6046afdbc10 --- /dev/null +++ b/.changeset/cyan-chicken-jam.md @@ -0,0 +1,4 @@ +--- +--- + +fix: build error for `demo-wallet-sdk-react` diff --git a/.changeset/good-pants-rule.md b/.changeset/good-pants-rule.md new file mode 100644 index 00000000000..0f1c9eb562b --- /dev/null +++ b/.changeset/good-pants-rule.md @@ -0,0 +1,5 @@ +--- +"create-fuels": patch +--- + +build(deps): bump the deps group with 2 updates diff --git a/.changeset/honest-onions-vanish.md b/.changeset/honest-onions-vanish.md new file mode 100644 index 00000000000..d1895015434 --- /dev/null +++ b/.changeset/honest-onions-vanish.md @@ -0,0 +1,4 @@ +--- +--- + +chore: update issue templates diff --git a/.changeset/mighty-crews-vanish.md b/.changeset/mighty-crews-vanish.md new file mode 100644 index 00000000000..157af6f4dec --- /dev/null +++ b/.changeset/mighty-crews-vanish.md @@ -0,0 +1,4 @@ +--- +--- + +fix: allow setting min gas price in `launchNode` args \ No newline at end of file diff --git a/.changeset/modern-rats-walk.md b/.changeset/modern-rats-walk.md new file mode 100644 index 00000000000..c71c8903999 --- /dev/null +++ b/.changeset/modern-rats-walk.md @@ -0,0 +1,4 @@ +--- +--- + +build(deps-dev): bump the dev-deps group across 1 directory with 10 updates diff --git a/.changeset/short-sheep-divide.md b/.changeset/short-sheep-divide.md new file mode 100644 index 00000000000..dc6a43c3e1d --- /dev/null +++ b/.changeset/short-sheep-divide.md @@ -0,0 +1,8 @@ +--- +"@fuel-ts/account": minor +"@fuel-ts/interfaces": minor +"@fuel-ts/contract": minor +"@fuel-ts/program": minor +--- + +chore!: refactored the `getTransactionCost` method diff --git a/.changeset/tall-planes-nail.md b/.changeset/tall-planes-nail.md new file mode 100644 index 00000000000..1419e9c50db --- /dev/null +++ b/.changeset/tall-planes-nail.md @@ -0,0 +1,8 @@ +--- +"@fuel-ts/transactions": minor +"@fuel-ts/contract": patch +"@fuel-ts/account": minor +"@fuel-ts/errors": minor +--- + +feat!: deploy contract validation diff --git a/.changeset/tasty-fireants-switch.md b/.changeset/tasty-fireants-switch.md new file mode 100644 index 00000000000..7ee8d77cf49 --- /dev/null +++ b/.changeset/tasty-fireants-switch.md @@ -0,0 +1,5 @@ +--- +"@fuel-ts/abi-typegen": patch +--- + +fix: make properties of configurables optional in typegen diff --git a/.changeset/three-moles-drop.md b/.changeset/three-moles-drop.md new file mode 100644 index 00000000000..24d21c4075d --- /dev/null +++ b/.changeset/three-moles-drop.md @@ -0,0 +1,4 @@ +--- +--- + +docs: re-introduce a section from provider docs \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/1-bug.yaml b/.github/ISSUE_TEMPLATE/1-bug.yaml new file mode 100644 index 00000000000..97a5b5fd0a5 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/1-bug.yaml @@ -0,0 +1,62 @@ +name: Bug Report +description: Open an issue for a problem you've identified with `fuels`. +labels: ["triage"] +body: + - type: markdown + attributes: + value: | + Thank you for helping to improve our Typescript SDK! + + Before submitting an issue, please ensure you are using the latest version of the SDK, as well as `forc` and `fuel-core`. Additionally, search through the [documentation](https://docs.fuel.network/docs/fuels-ts/) or on our [forum](https://forum.fuel.network/c/typescript-sdk) as it's possible your problem has already been solved there. + + Failing that, please submit an issue using the form below. + - type: input + attributes: + label: fuels-ts SDK Version + description: What version of `fuels` are you using? Before opening an issue, please make sure you are up to date. + placeholder: e.g. fuels@x.y.z + validations: + required: true + - type: input + attributes: + label: Toolchain Versions + description: Please share the result of running `fuelup show` in your terminal. + validations: + required: true + - type: input + attributes: + label: Node.js Version + description: Specify the version of Node.js you are using. + placeholder: e.g. Node.js v22.0.0 + - type: input + attributes: + label: Browser + description: Specify the browser and version you are using. + placeholder: e.g. Chrome v5 + - type: input + attributes: + label: Operating System + description: Specify your operating system and version. + placeholder: e.g. macOS 11.2, Windows 10 + - type: textarea + attributes: + label: Describe the Problem + description: Please describe what you expected to happen vs what did happen? Please include steps to reproduce the problem. + validations: + required: true + - type: textarea + attributes: + label: Code Snippet + description: If possible, please include a **short and concise** code snippet that can reproduce this issue. Or even better, please share a link to a repo or gist with a minimal reproduction of the problem. + render: shell + - type: textarea + attributes: + label: Contract ABI + description: If this involves a contract, please include any **concise and relevant** ABI fragments. + render: shell + - type: textarea + id: errors + attributes: + label: Errors + description: If there is an error, please include the **entire error** (redacting any sensitive information). + render: shell diff --git a/.github/ISSUE_TEMPLATE/2-feature.yaml b/.github/ISSUE_TEMPLATE/2-feature.yaml new file mode 100644 index 00000000000..ada51545c82 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/2-feature.yaml @@ -0,0 +1,23 @@ +name: Feature Request +description: Suggest a new feature for `fuels`. +labels: ["triage"] +body: +- type: markdown + attributes: + value: | + Thank you for helping to improve our Typescript SDK! + + The best place to submit a feature request is in a [discussion](https://github.com/FuelLabs/fuels-ts/discussions/new?category=ideas). This gives you the opportunity to present the idea to the community, discuss potential solutions and their impacts before submitting the proposed solution as a feature request. + + Failing that, please submit a feature request using the form below. + - type: textarea + attributes: + label: Describe the Feature + description: Please describe the feature and the problem it is solving. As well as your proposed solution and if possible, other alternatives. + validations: + required: true + - type: textarea + attributes: + label: Code Example + description: Optionally, provide an example of how the feature would be used in code. + render: shell diff --git a/.github/ISSUE_TEMPLATE/bug.yaml b/.github/ISSUE_TEMPLATE/bug.yaml deleted file mode 100644 index 9192fd731d4..00000000000 --- a/.github/ISSUE_TEMPLATE/bug.yaml +++ /dev/null @@ -1,44 +0,0 @@ -name: 🐛 Bug Report -description: Something is wrong with fuels-ts. -labels: ["bug", "triage"] -body: - - type: markdown - attributes: - value: | - Thank you for helping to improve our Typescript SDK! - - ## The best bug report is a failing test! - - The fastest way to get a bug fixed is to add a failing test and send a pull request. **It's usually easy to do with our bug report test template**. - - 1. Click the "Fork" button - 2. Open our contributions guideline! - 3. Follow the instructions! - - ## I'd rather just report the bug - - That's fine too! Go ahead and fill out this form. - - - type: input - attributes: - label: What version of fuels-ts are you using? - validations: - required: true - - type: textarea - attributes: - label: Steps to Reproduce - description: Steps to reproduce the behavior. - validations: - required: true - - type: textarea - attributes: - label: Expected Behavior - description: A concise description of what you expected to happen. - validations: - required: true - - type: textarea - attributes: - label: Actual Behavior - description: A concise description of what you're experiencing. - validations: - required: true diff --git a/.github/ISSUE_TEMPLATE/config.yaml b/.github/ISSUE_TEMPLATE/config.yaml new file mode 100644 index 00000000000..0086358db1e --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yaml @@ -0,0 +1 @@ +blank_issues_enabled: true diff --git a/.github/ISSUE_TEMPLATE/feature.yaml b/.github/ISSUE_TEMPLATE/feature.yaml deleted file mode 100644 index 2c4dcf18a4f..00000000000 --- a/.github/ISSUE_TEMPLATE/feature.yaml +++ /dev/null @@ -1,18 +0,0 @@ -name: 🚀 Feature request -description: Suggest an idea for this project. -labels: ["enhancement", "triage"] -body: - - type: textarea - attributes: - label: Motivation - description: Outline the motivation for the proposal. - validations: - required: true - - type: textarea - attributes: - label: Usage example - description: Provide documentation and code examples for how this feature would be used. - - type: textarea - attributes: - label: Possible implementations - description: If possible, describe how this feature could be implemented. diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 61c98a68f51..244020a8835 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -7,9 +7,9 @@ List the issues this PR closes (if any) in a bullet list format, e.g.: # Release notes In this release, we: @@ -20,13 +20,16 @@ In this release, we: # Breaking Changes diff --git a/apps/create-fuels-counter-guide/package.json b/apps/create-fuels-counter-guide/package.json index bb676611db2..5d1a63a898c 100644 --- a/apps/create-fuels-counter-guide/package.json +++ b/apps/create-fuels-counter-guide/package.json @@ -15,13 +15,13 @@ "@fuels/connectors": "^0.8.1", "@fuels/react": "^0.20.0", "fuels": "workspace:*", - "@tanstack/react-query": "^5.51.1", + "@tanstack/react-query": "^5.51.11", "dotenv": "^16.4.5", "next": "14.2.5", "react": "^18.3", "react-dom": "^18.3", "react-hot-toast": "^2.4.1", - "react-use": "^17.5.0" + "react-use": "^17.5.1" }, "devDependencies": { "@types/node": "^20", @@ -31,7 +31,7 @@ "eslint": "^8", "eslint-config-next": "14.2.5", "postcss": "^8", - "tailwindcss": "^3.4.4", + "tailwindcss": "^3.4.6", "typescript": "^5" } } diff --git a/apps/demo-bun-fuels/package.json b/apps/demo-bun-fuels/package.json index ef8a94a28df..0c665ff859c 100644 --- a/apps/demo-bun-fuels/package.json +++ b/apps/demo-bun-fuels/package.json @@ -3,6 +3,7 @@ "name": "demo-bun-fuels", "description": "Simple demo using Bun with Fuels CLI", "author": "Fuel Labs (https://fuel.network/)", + "version": "0.0.0", "scripts": { "pretest": "bun fuels build" }, @@ -12,7 +13,6 @@ "@fuel-ts/errors": "workspace:^", "fuels": "workspace:*" }, - "version": null, "devDependencies": { "bun": "^1.1.20" } diff --git a/apps/demo-nextjs/package.json b/apps/demo-nextjs/package.json index 48d7d24fc56..fad3b1ebdb8 100644 --- a/apps/demo-nextjs/package.json +++ b/apps/demo-nextjs/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@fuels/vm-asm": "0.55.0", - "@types/node": "18.15.3", + "@types/node": "20.14.11", "@types/react-dom": "18.3.0", "@types/react": "18.3.3", "fuels": "workspace:*", diff --git a/apps/demo-nodejs-esm/package.json b/apps/demo-nodejs-esm/package.json index 9fce7002a29..59bd596bab4 100644 --- a/apps/demo-nodejs-esm/package.json +++ b/apps/demo-nodejs-esm/package.json @@ -3,6 +3,7 @@ "name": "demo-node-esm", "description": "Simple NodeJS demo using ESM modules", "author": "Fuel Labs (https://fuel.network/)", + "version": "0.0.0", "type": "module", "license": "Apache-2.0", "scripts": { @@ -10,6 +11,5 @@ }, "dependencies": { "fuels": "workspace:*" - }, - "version": null + } } diff --git a/apps/demo-react-cra/package.json b/apps/demo-react-cra/package.json index 1687837f8ed..cc3f870c3cc 100644 --- a/apps/demo-react-cra/package.json +++ b/apps/demo-react-cra/package.json @@ -5,7 +5,7 @@ "dependencies": { "@fuels/vm-asm": "0.55.0", "@testing-library/react": "^16.0.0", - "@types/node": "^16.18.34", + "@types/node": "^20.14.11", "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", "eslint-config-react-app": "^7.0.1", diff --git a/apps/demo-react-vite/package.json b/apps/demo-react-vite/package.json index 7b1811b42c5..4082a4c0be3 100644 --- a/apps/demo-react-vite/package.json +++ b/apps/demo-react-vite/package.json @@ -24,8 +24,8 @@ "@vitejs/plugin-react": "^4.3.1", "eslint": "^8.57.0", "eslint-plugin-react-hooks": "^4.6.2", - "eslint-plugin-react-refresh": "^0.4.8", + "eslint-plugin-react-refresh": "^0.4.9", "typescript": "~5.4.5", - "vite": "^5.3.3" + "vite": "^5.3.4" } } diff --git a/apps/demo-wallet-sdk-react/package.json b/apps/demo-wallet-sdk-react/package.json index 72010cc97b8..e81a633f92a 100644 --- a/apps/demo-wallet-sdk-react/package.json +++ b/apps/demo-wallet-sdk-react/package.json @@ -9,9 +9,9 @@ "lint": "next lint" }, "dependencies": { - "@fuels/connectors": "^0.2.2", + "@fuels/connectors": "^0.8.1", "@fuels/react": "^0.20.0", - "@tanstack/react-query": "^5.51.1", + "@tanstack/react-query": "^5.51.11", "fuels": "workspace:*", "next": "14.2.5", "react": "^18.3.1", @@ -23,7 +23,7 @@ "@types/react-dom": "^18", "autoprefixer": "^10.4.19", "postcss": "^8", - "tailwindcss": "^3.4.4", + "tailwindcss": "^3.4.6", "typescript": "^5" } } diff --git a/apps/demo-wallet-sdk-react/pages/_app.tsx b/apps/demo-wallet-sdk-react/pages/_app.tsx index 620a2a8e57c..9076f9d2d83 100644 --- a/apps/demo-wallet-sdk-react/pages/_app.tsx +++ b/apps/demo-wallet-sdk-react/pages/_app.tsx @@ -1,6 +1,12 @@ import "@/styles/globals.css"; // #region wallet-sdk-react-provider -import { defaultConnectors } from '@fuels/connectors'; +import { + BakoSafeConnector, + FueletWalletConnector, + FuelWalletConnector, + FuelWalletDevelopmentConnector, + WalletConnectConnector, +} from "@fuels/connectors"; import { FuelProvider } from "@fuels/react"; import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import type { AppProps } from "next/app"; @@ -12,13 +18,21 @@ export default function App({ Component, pageProps }: AppProps) { return ( - - + + ); } // #endregion wallet-sdk-react-provider - - diff --git a/apps/docs-snippets/src/guide/cookbook/custom-transactions-contract-calls.test.ts b/apps/docs-snippets/src/guide/cookbook/custom-transactions-contract-calls.test.ts index 9cf3d2248a6..609f43654f0 100644 --- a/apps/docs-snippets/src/guide/cookbook/custom-transactions-contract-calls.test.ts +++ b/apps/docs-snippets/src/guide/cookbook/custom-transactions-contract-calls.test.ts @@ -52,7 +52,7 @@ describe('Custom Transactions from Contract Calls', () => { // Add coin output for the recipient transactionRequest.addCoinOutput(receiverWallet.address, amountToRecipient, baseAssetId); - const txCost = await senderWallet.provider.getTransactionCost(transactionRequest); + const txCost = await senderWallet.getTransactionCost(transactionRequest); transactionRequest.gasLimit = txCost.gasUsed; transactionRequest.maxFee = txCost.maxFee; diff --git a/apps/docs-snippets/src/guide/cookbook/signing-transactions.test.ts b/apps/docs-snippets/src/guide/cookbook/signing-transactions.test.ts index 45893a1d7e5..24855ad5bfc 100644 --- a/apps/docs-snippets/src/guide/cookbook/signing-transactions.test.ts +++ b/apps/docs-snippets/src/guide/cookbook/signing-transactions.test.ts @@ -102,9 +102,8 @@ describe('Signing transactions', () => { // Add witnesses including the signer // Estimate the predicate inputs - const txCost = await provider.getTransactionCost(request, { + const txCost = await predicate.getTransactionCost(request, { signatureCallback: (tx) => tx.addAccountWitnesses(signer), - resourcesOwner: predicate, }); request.updatePredicateGasUsed(txCost.estimatedPredicates); diff --git a/apps/docs-snippets/src/guide/encoding/encode-and-decode.test.ts b/apps/docs-snippets/src/guide/encoding/encode-and-decode.test.ts index e18f05bc62a..936be49a4b1 100644 --- a/apps/docs-snippets/src/guide/encoding/encode-and-decode.test.ts +++ b/apps/docs-snippets/src/guide/encoding/encode-and-decode.test.ts @@ -71,7 +71,7 @@ describe('encode and decode', () => { request.scriptData = encodedArguments; // Now we can build out the rest of the transaction and then fund it - const txCost = await wallet.provider.getTransactionCost(request); + const txCost = await wallet.getTransactionCost(request); request.maxFee = txCost.maxFee; request.gasLimit = txCost.gasUsed; await wallet.fund(request, txCost); diff --git a/apps/docs-snippets/src/guide/predicates/interacting-with-predicates.test.ts b/apps/docs-snippets/src/guide/predicates/interacting-with-predicates.test.ts index 8a6c8ac5873..2763751ffe5 100644 --- a/apps/docs-snippets/src/guide/predicates/interacting-with-predicates.test.ts +++ b/apps/docs-snippets/src/guide/predicates/interacting-with-predicates.test.ts @@ -1,4 +1,4 @@ -import type { Provider, WalletUnlocked } from 'fuels'; +import type { WalletUnlocked } from 'fuels'; import { ScriptTransactionRequest, bn, Predicate, BN } from 'fuels'; import { seedTestWallet } from 'fuels/test-utils'; @@ -15,7 +15,6 @@ describe(__filename, () => { let wallet: WalletUnlocked; let receiver: WalletUnlocked; let baseAssetId: string; - let provider: Provider; let predicate: Predicate<[string]>; const { abiContents: abi, binHexlified: bin } = getDocsSnippetsForcProject( @@ -27,7 +26,6 @@ describe(__filename, () => { beforeAll(async () => { wallet = await getTestWallet(); receiver = await getTestWallet(); - provider = wallet.provider; baseAssetId = wallet.provider.getBaseAssetId(); @@ -65,9 +63,7 @@ describe(__filename, () => { const transactionRequest = new ScriptTransactionRequest({ gasLimit: 2000, maxFee: bn(0) }); transactionRequest.addCoinOutput(receiver.address, 100, baseAssetId); - const txCost = await provider.getTransactionCost(transactionRequest, { - resourcesOwner: predicate, - }); + const txCost = await predicate.getTransactionCost(transactionRequest); transactionRequest.gasLimit = txCost.gasUsed; transactionRequest.maxFee = txCost.maxFee; @@ -91,9 +87,7 @@ describe(__filename, () => { const transactionRequest = new ScriptTransactionRequest({ gasLimit: 2000, maxFee: bn(0) }); transactionRequest.addCoinOutput(receiver.address, 1000000, baseAssetId); - const txCost = await provider.getTransactionCost(transactionRequest, { - resourcesOwner: predicate, - }); + const txCost = await predicate.getTransactionCost(transactionRequest); transactionRequest.gasLimit = txCost.gasUsed; transactionRequest.maxFee = txCost.maxFee; diff --git a/apps/docs-snippets/src/guide/provider/querying-the-chain.test.ts b/apps/docs-snippets/src/guide/provider/querying-the-chain.test.ts index 8a5014709f6..af163744a7f 100644 --- a/apps/docs-snippets/src/guide/provider/querying-the-chain.test.ts +++ b/apps/docs-snippets/src/guide/provider/querying-the-chain.test.ts @@ -1,6 +1,10 @@ -import type { CoinQuantityLike, ExcludeResourcesOption } from 'fuels'; +import type { + TransactionResultMessageOutReceipt, + CoinQuantityLike, + ExcludeResourcesOption, +} from 'fuels'; import { FUEL_NETWORK_URL, Provider, ScriptTransactionRequest } from 'fuels'; -import { generateTestWallet } from 'fuels/test-utils'; +import { TestMessage, generateTestWallet, launchTestNode } from 'fuels/test-utils'; /** * @group node @@ -142,4 +146,115 @@ describe('querying the chain', () => { expect(message).toBeDefined(); expect(message?.nonce).toEqual(nonce); }); + + it('can getMessage', async () => { + // #region Message-getMessages + // #import { TestMessage, launchTestNode }; + + // Creates a test message with an amount of 100 + const testMessage = new TestMessage({ amount: 100 }); + + // Launches a test node with the test message configured + using launched = await launchTestNode({ walletsConfig: { messages: [testMessage] } }); + const { + wallets: [wallet], + } = launched; + + // Retrieves messages from the wallet + const { messages } = await wallet.getMessages(); + // #endregion Message-getMessages + + expect(messages[0].nonce).toEqual(testMessage.nonce); + }); + + it('can getMessageProof with blockId', async () => { + // #region Message-getMessageProof-blockId + // #import { launchTestNode, TransactionResultMessageOutReceipt }; + + // Launches a test node + using launched = await launchTestNode({ + nodeOptions: { + args: ['--poa-instant', 'false', '--poa-interval-period', '1s'], + }, + }); + + const { + wallets: [sender, recipient], + provider, + } = launched; + + // Performs a withdrawal transaction from sender to recipient, thus generating a message + const withdrawTx = await sender.withdrawToBaseLayer(recipient.address.toB256(), 100); + const result = await withdrawTx.waitForResult(); + + // Waiting for a new block to be commited (1 confirmation block) + await new Promise((resolve) => { + setTimeout(() => { + resolve(true); + }, 1000); + }); + + // Retrives the latest block + const latestBlock = await provider.getBlock('latest'); + + // Retrieves the `nonce` via message out receipt from the initial transaction result + const { nonce } = result.receipts[0] as TransactionResultMessageOutReceipt; + + // Retrieves the message proof for the transaction ID and nonce using the next block Id + const messageProof = await provider.getMessageProof( + result.gqlTransaction.id, + nonce, + latestBlock?.id + ); + // #endregion Message-getMessageProof-blockId + + expect(messageProof?.amount.toNumber()).toEqual(100); + expect(messageProof?.sender.toHexString()).toEqual(result.id); + }); + + it('can getMessageProof with blockHeight', async () => { + // #region Message-getMessageProof-blockHeight + // #import { launchTestNode, TransactionResultMessageOutReceipt }; + + // Launches a test node + using launched = await launchTestNode({ + nodeOptions: { + args: ['--poa-instant', 'false', '--poa-interval-period', '1s'], + }, + }); + + const { + wallets: [sender, recipient], + provider, + } = launched; + + // Performs a withdrawal transaction from sender to recipient, thus generating a message + const withdrawTx = await sender.withdrawToBaseLayer(recipient.address.toB256(), 100); + const result = await withdrawTx.waitForResult(); + + // Waiting for a new block to be commited (1 confirmation block) + await new Promise((resolve) => { + setTimeout(() => { + resolve(true); + }, 1000); + }); + + // Retrieves the `nonce` via message out receipt from the initial transaction result + const { nonce } = result.receipts[0] as TransactionResultMessageOutReceipt; + + // Retrives the latest block + const latestBlock = await provider.getBlock('latest'); + + // Retrieves the message proof for the transaction ID and nonce using the block height + const messageProof = await provider.getMessageProof( + result.gqlTransaction.id, + nonce, + undefined, + latestBlock?.height + ); + // #endregion Message-getMessageProof-blockHeight + + expect(messageProof?.amount.toNumber()).toEqual(100); + expect(messageProof?.sender.toHexString()).toEqual(result.id); + }); }); diff --git a/apps/docs-snippets/src/guide/scripts/script-custom-transaction.test.ts b/apps/docs-snippets/src/guide/scripts/script-custom-transaction.test.ts index 942b9ba7e13..036b7759d75 100644 --- a/apps/docs-snippets/src/guide/scripts/script-custom-transaction.test.ts +++ b/apps/docs-snippets/src/guide/scripts/script-custom-transaction.test.ts @@ -79,7 +79,7 @@ describe(__filename, () => { const quantities = [coinQuantityfy([1000, ASSET_A]), coinQuantityfy([500, ASSET_B])]; // 5. Calculate the transaction fee - const txCost = await provider.getTransactionCost(request, { quantitiesToContract: quantities }); + const txCost = await wallet.getTransactionCost(request, { quantities }); request.gasLimit = txCost.gasUsed; request.maxFee = txCost.maxFee; diff --git a/apps/docs-snippets/src/guide/transactions/transaction-response.test.ts b/apps/docs-snippets/src/guide/transactions/transaction-response.test.ts index 8bb9495e1e8..d4d120bc34f 100644 --- a/apps/docs-snippets/src/guide/transactions/transaction-response.test.ts +++ b/apps/docs-snippets/src/guide/transactions/transaction-response.test.ts @@ -54,7 +54,7 @@ describe('Transaction Response', () => { transactionRequest.setData(scriptAbi, scriptMainFunctionArguments); // Fund the transaction - const txCost = await provider.getTransactionCost(transactionRequest); + const txCost = await wallet.getTransactionCost(transactionRequest); transactionRequest.maxFee = txCost.maxFee; transactionRequest.gasLimit = txCost.gasUsed; @@ -79,7 +79,7 @@ describe('Transaction Response', () => { }); transactionRequest.setData(scriptAbi, scriptMainFunctionArguments); - const txCost = await provider.getTransactionCost(transactionRequest); + const txCost = await wallet.getTransactionCost(transactionRequest); transactionRequest.maxFee = txCost.maxFee; transactionRequest.gasLimit = txCost.gasUsed; diff --git a/apps/docs-snippets/src/guide/wallets/signing.test.ts b/apps/docs-snippets/src/guide/wallets/signing.test.ts index 891e0a64702..8d05d5d76cb 100644 --- a/apps/docs-snippets/src/guide/wallets/signing.test.ts +++ b/apps/docs-snippets/src/guide/wallets/signing.test.ts @@ -54,7 +54,7 @@ describe(__filename, () => { request.addCoinOutput(Address.fromRandom(), 1000, baseAssetId); - const txCost = await provider.getTransactionCost(request); + const txCost = await wallet.getTransactionCost(request); request.gasLimit = txCost.gasUsed; request.maxFee = txCost.maxFee; @@ -85,7 +85,7 @@ describe(__filename, () => { request.addCoinOutput(Address.fromRandom(), 1000, baseAssetId); - const txCost = await provider.getTransactionCost(request); + const txCost = await wallet.getTransactionCost(request); request.gasLimit = txCost.gasUsed; request.maxFee = txCost.maxFee; diff --git a/apps/docs-snippets/src/utils.ts b/apps/docs-snippets/src/utils.ts index 3e7a35a009d..57e26200a87 100644 --- a/apps/docs-snippets/src/utils.ts +++ b/apps/docs-snippets/src/utils.ts @@ -34,7 +34,7 @@ export const getTestWallet = async (seedQuantities?: CoinQuantityLike[]) => { .forEach(({ amount, assetId }) => request.addCoinOutput(testWallet.address, amount, assetId)); // get the cost of the transaction - const txCost = await genesisWallet.provider.getTransactionCost(request); + const txCost = await testWallet.getTransactionCost(request); request.gasLimit = txCost.gasUsed; request.maxFee = txCost.maxFee; diff --git a/apps/docs/package.json b/apps/docs/package.json index 504431340e5..311967c7b7b 100644 --- a/apps/docs/package.json +++ b/apps/docs/package.json @@ -30,6 +30,6 @@ "typedoc-plugin-merge-modules": "^5.1.0", "vitepress": "1.3.1", "vitepress-plugin-search": "1.0.4-alpha.19", - "vue": "^3.4.31" + "vue": "^3.4.33" } } diff --git a/apps/docs/src/guide/contracts/cost-estimation.md b/apps/docs/src/guide/contracts/cost-estimation.md index 533e18d095c..7190bf53612 100644 --- a/apps/docs/src/guide/contracts/cost-estimation.md +++ b/apps/docs/src/guide/contracts/cost-estimation.md @@ -1,10 +1,10 @@ # Estimating Contract Call Cost -The `getTransactionCost` function provided by the [Provider](../../api/Account/Provider.md) allows you to estimate the cost of a specific contract call. The return type, `TransactionCost`, is an object containing relevant information for the estimation: +The `getTransactionCost` function provided by the [Account](../../api/Account/Account.md) allows you to estimate the cost of a specific contract call. The return type, `TransactionCost`, is an object containing relevant information for the estimation: <<< @/../../../packages/account/src/providers/provider.ts#cost-estimation-1{ts:line-numbers} -The following example demonstrate how to get the estimated transaction cost for: +The following example demonstrates how to get the estimated transaction cost for: ## 1. Single contract call transaction: diff --git a/apps/docs/src/guide/contracts/deploying-contracts.md b/apps/docs/src/guide/contracts/deploying-contracts.md index 1defa7265da..9e00beac37a 100644 --- a/apps/docs/src/guide/contracts/deploying-contracts.md +++ b/apps/docs/src/guide/contracts/deploying-contracts.md @@ -9,6 +9,8 @@ This guide walks you through deploying a contract using the SDK, covering loading contract artifacts, initializing a contract factory, and deploying the contract. +> **Note:** The maximum contract deployment size supported by the SDK is 100 KB. The SDK will `throw` an [error](../errors/index.md) for contracts larger than this size. + ## 1. Obtaining Contract Artifacts After writing a contract in Sway and compiling it with `forc build` (read more on how to work with Sway), you will obtain two important artifacts: the compiled binary file and the JSON ABI file. These files are required for deploying a contract using the SDK. diff --git a/apps/docs/src/guide/errors/index.md b/apps/docs/src/guide/errors/index.md index 27b94c4c1ef..b84657a5d52 100644 --- a/apps/docs/src/guide/errors/index.md +++ b/apps/docs/src/guide/errors/index.md @@ -30,6 +30,12 @@ When converting a big number into an incompatible format. Ensure that the value you've supplied to the big number is compatible with the value you are converting to. +### `CONTRACT_SIZE_EXCEEDS_LIMIT` + +When the contract size exceeds the maximum contract size limit. + +Ensure that the contract size is less than the maximum contract size limit, of 100 KB. This can be validated by checking the bytecode length of the contract. + ### `DUPLICATED_POLICY` When there are more than policies with the same type, for a transaction. @@ -174,9 +180,9 @@ When the transaction status received from the node is unexpected. Check the status received is within `TransactionStatus`. -### `INVALID_TRANSACTION_TYPE` +### `UNSUPPORTED_TRANSACTION_TYPE` -When the transaction type from the Fuel Node is _not_ valid. +When the transaction type from the Fuel Node is _not_ supported. The type is within [`TransactionType`](../../api/Account/TransactionType.md). diff --git a/apps/docs/src/guide/fuels-cli/commands.md b/apps/docs/src/guide/fuels-cli/commands.md index 0afb25e397d..5bdcaa9683e 100644 --- a/apps/docs/src/guide/fuels-cli/commands.md +++ b/apps/docs/src/guide/fuels-cli/commands.md @@ -95,6 +95,8 @@ npx fuels@{{fuels}} deploy > [!NOTE] Note > We recommend using the `fuels deploy` command only when you are deploying contracts to a local node. > If you are deploying contracts to a live network like the Testnet, we recommend using the [`forc deploy`](https://docs.fuel.network/docs/intro/quickstart-contract/#deploy-to-testnet) command instead. +> +> Additionally, the maximum contract deployment size supported by the SDK is 100 KB. The SDK will `throw` an [error](../errors/index.md) for contracts larger than this size. The `fuels deploy` command does two things: diff --git a/apps/docs/src/guide/provider/querying-the-chain.md b/apps/docs/src/guide/provider/querying-the-chain.md index f38e0cd4649..286eff8ea14 100644 --- a/apps/docs/src/guide/provider/querying-the-chain.md +++ b/apps/docs/src/guide/provider/querying-the-chain.md @@ -57,25 +57,20 @@ You can use the `getMessageByNonce` method to retrieve a message by its nonce. <<< @/../../docs-snippets/src/guide/provider/querying-the-chain.test.ts#get-message-by-nonce-1{ts:line-numbers} - +Or by it's block height: - +<<< @/../../docs-snippets/src/guide/provider/querying-the-chain.test.ts#Message-getMessageProof-blockHeight{ts:line-numbers} \ No newline at end of file diff --git a/internal/check-imports/package.json b/internal/check-imports/package.json index 908f319fdb8..ea349c6948f 100644 --- a/internal/check-imports/package.json +++ b/internal/check-imports/package.json @@ -27,5 +27,5 @@ "@fuel-ts/account": "workspace:*", "fuels": "workspace:*" }, - "version": null + "version": "0.0.0" } diff --git a/internal/check-tests/package.json b/internal/check-tests/package.json index 40bbfeed323..543ff3ec089 100644 --- a/internal/check-tests/package.json +++ b/internal/check-tests/package.json @@ -8,5 +8,5 @@ "build": "tsc --noEmit" }, "license": "Apache-2.0", - "version": null + "version": "0.0.0" } diff --git a/package.json b/package.json index 1073fff6839..0e46705e64f 100644 --- a/package.json +++ b/package.json @@ -70,8 +70,8 @@ "@internal/fuel-core": "workspace:*", "@internal/tsup": "workspace:*", "@istanbuljs/nyc-config-typescript": "^1.0.2", - "@playwright/test": "^1.45.1", - "@types/node": "18.15.3", + "@playwright/test": "^1.45.3", + "@types/node": "20.14.11", "@types/node-fetch": "^2.6.11", "@types/web": "^0.0.151", "@typescript-eslint/eslint-plugin": "^6.9.0", @@ -88,12 +88,12 @@ "eslint-plugin-import": "^2.29.1", "eslint-plugin-jsdoc": "^46.8.2", "eslint-plugin-jsx-a11y": "^6.9.0", - "eslint-plugin-prettier": "^5.1.3", - "eslint-plugin-react": "^7.34.4", + "eslint-plugin-prettier": "^5.2.1", + "eslint-plugin-react": "^7.35.0", "eslint-plugin-react-hooks": "^4.6.2", "eslint-plugin-tsdoc": "^0.3.0", "glob": "^10.2.6", - "knip": "^5.26.0", + "knip": "^5.27.0", "memfs": "^4.9.3", "nodemon": "^3.1.4", "npm-run-all": "^4.1.5", @@ -106,9 +106,9 @@ "ts-generator": "^0.1.1", "tsup": "^6.7.0", "tsx": "^4.16.2", - "turbo": "^2.0.6", + "turbo": "^2.0.9", "typescript": "~5.4.5", - "vite": "^5.3.3", + "vite": "^5.3.4", "vite-plugin-json5": "^1.1.2", "vite-plugin-node-polyfills": "^0.22.0", "vite-plugin-plain-text": "^1.4.2", diff --git a/packages/abi-typegen/src/templates/contract/main.hbs b/packages/abi-typegen/src/templates/contract/main.hbs index 3275ba31f45..4b0cdc18680 100644 --- a/packages/abi-typegen/src/templates/contract/main.hbs +++ b/packages/abi-typegen/src/templates/contract/main.hbs @@ -46,11 +46,11 @@ export type {{structName}}Output{{typeAnnotations}} = { {{outputValues}} }; {{/each}} {{#if formattedConfigurables}} -export type {{capitalizedName}}Configurables = { +export type {{capitalizedName}}Configurables = Partial<{ {{#each formattedConfigurables}} {{configurableName}}: {{configurableType}}; {{/each}} -}; +}>; {{/if}} const abi = {{abiJsonString}}; diff --git a/packages/abi-typegen/src/templates/predicate/main.hbs b/packages/abi-typegen/src/templates/predicate/main.hbs index b655cf44ec0..f1a2790fedb 100644 --- a/packages/abi-typegen/src/templates/predicate/main.hbs +++ b/packages/abi-typegen/src/templates/predicate/main.hbs @@ -40,11 +40,11 @@ export type {{structName}}Output{{typeAnnotations}} = { {{outputValues}} }; {{/if}} {{/each}} -export type {{capitalizedName}}Configurables = { +export type {{capitalizedName}}Configurables = Partial<{ {{#each formattedConfigurables}} {{configurableName}}: {{configurableType}}; {{/each}} -}; +}>; export type {{capitalizedName}}Inputs = [{{inputs}}]; diff --git a/packages/abi-typegen/src/templates/script/main.hbs b/packages/abi-typegen/src/templates/script/main.hbs index 015efc8347e..0ad9c37be87 100644 --- a/packages/abi-typegen/src/templates/script/main.hbs +++ b/packages/abi-typegen/src/templates/script/main.hbs @@ -44,11 +44,11 @@ export type {{capitalizedName}}Inputs = [{{inputs}}]; export type {{capitalizedName}}Output = {{output}}; {{#if formattedConfigurables}} -export type {{capitalizedName}}Configurables = { +export type {{capitalizedName}}Configurables = Partial<{ {{#each formattedConfigurables}} {{configurableName}}: {{configurableType}}; {{/each}} -}; +}>; {{/if}} const abi = {{abiJsonString}}; diff --git a/packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/main.hbs b/packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/main.hbs index 0624ac48bb0..709d45a7911 100644 --- a/packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/main.hbs +++ b/packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/main.hbs @@ -14,10 +14,10 @@ import { Provider, } from 'fuels'; -export type MyPredicateConfigurables = { +export type MyPredicateConfigurables = Partial<{ FEE: BigNumberish; ADDRESS: string; -}; +}>; export type MyPredicateInputs = [fee: BigNumberish, address: string]; diff --git a/packages/abi-typegen/test/fixtures/templates/predicate/main.hbs b/packages/abi-typegen/test/fixtures/templates/predicate/main.hbs index 9cc691ac4a6..dbf05fa84cd 100644 --- a/packages/abi-typegen/test/fixtures/templates/predicate/main.hbs +++ b/packages/abi-typegen/test/fixtures/templates/predicate/main.hbs @@ -25,8 +25,8 @@ export type MyGenericStructOutput = MyGenericStructInput; export type ValidationInput = { has_account: boolean, total_complete: BigNumberish }; export type ValidationOutput = { has_account: boolean, total_complete: BN }; -export type MyPredicateConfigurables = { -}; +export type MyPredicateConfigurables = Partial<{ +}>; export type MyPredicateInputs = [vec: Vec, enm: MyGenericEnumInput, opt: Option, res: Result, BigNumberish>]; diff --git a/packages/abi-typegen/test/fixtures/templates/script-with-configurable/main.hbs b/packages/abi-typegen/test/fixtures/templates/script-with-configurable/main.hbs index 62b4e956fc2..79f9b4e0683 100644 --- a/packages/abi-typegen/test/fixtures/templates/script-with-configurable/main.hbs +++ b/packages/abi-typegen/test/fixtures/templates/script-with-configurable/main.hbs @@ -19,9 +19,9 @@ export type ScoreOutput = { user: number, points: number }; export type MyScriptInputs = [score: ScoreInput]; export type MyScriptOutput = boolean; -export type MyScriptConfigurables = { +export type MyScriptConfigurables = Partial<{ SHOULD_RETURN: boolean; -}; +}>; const abi = { "encoding": "1", diff --git a/packages/account/src/account.test.ts b/packages/account/src/account.test.ts index 78c496ce2e3..7e64ce8501b 100644 --- a/packages/account/src/account.test.ts +++ b/packages/account/src/account.test.ts @@ -483,7 +483,7 @@ describe('Account', () => { [amount, assetIdB], ]); - const txCost = await sender.provider.getTransactionCost(request); + const txCost = await sender.getTransactionCost(request); request.gasLimit = txCost.gasUsed; request.maxFee = txCost.maxFee; diff --git a/packages/account/src/account.ts b/packages/account/src/account.ts index 302694a6ab9..f83f75fc491 100644 --- a/packages/account/src/account.ts +++ b/packages/account/src/account.ts @@ -29,6 +29,7 @@ import type { GetMessagesResponse, GetBalancesResponse, Coin, + TransactionCostParams, } from './providers'; import { withdrawScript, @@ -42,6 +43,7 @@ import { isRequestInputCoin, isRequestInputResource, } from './providers/transaction-request/helpers'; +import { mergeQuantities } from './providers/utils/merge-quantities'; import { assembleTransferToContractScript } from './utils/formatTransferToContractScriptData'; export type TxParamsType = Pick< @@ -436,9 +438,8 @@ export class Account extends AbstractAccount { request.addContractInputAndOutput(contractAddress); - const txCost = await this.provider.getTransactionCost(request, { - resourcesOwner: this, - quantitiesToContract: [{ amount: bn(amount), assetId: String(assetIdToTransfer) }], + const txCost = await this.getTransactionCost(request, { + quantities: [{ amount: bn(amount), assetId: String(assetIdToTransfer) }], }); request = this.validateGasLimitAndMaxFee({ @@ -484,9 +485,9 @@ export class Account extends AbstractAccount { const baseAssetId = this.provider.getBaseAssetId(); let request = new ScriptTransactionRequest(params); - const quantitiesToContract = [{ amount: bn(amount), assetId: baseAssetId }]; + const quantities = [{ amount: bn(amount), assetId: baseAssetId }]; - const txCost = await this.provider.getTransactionCost(request, { quantitiesToContract }); + const txCost = await this.getTransactionCost(request, { quantities }); request = this.validateGasLimitAndMaxFee({ transactionRequest: request, @@ -500,6 +501,45 @@ export class Account extends AbstractAccount { return this.sendTransaction(request); } + /** + * Returns a transaction cost to enable user + * to set gasLimit and also reserve balance amounts + * on the transaction. + * + * @param transactionRequestLike - The transaction request object. + * @param transactionCostParams - The transaction cost parameters (optional). + * + * @returns A promise that resolves to the transaction cost object. + */ + async getTransactionCost( + transactionRequestLike: TransactionRequestLike, + { signatureCallback, quantities = [] }: TransactionCostParams = {} + ): Promise { + const txRequestClone = clone(transactionRequestify(transactionRequestLike)); + const baseAssetId = this.provider.getBaseAssetId(); + + // Fund with fake UTXOs to avoid not enough funds error + // Getting coin quantities from amounts being transferred + const coinOutputsQuantities = txRequestClone.getCoinOutputsQuantities(); + // Combining coin quantities from amounts being transferred and forwarding to contracts + const requiredQuantities = mergeQuantities(coinOutputsQuantities, quantities); + // An arbitrary amount of the base asset is added to cover the transaction fee during dry runs + const transactionFeeForDryRun = [{ assetId: baseAssetId, amount: bn('100000000000000000') }]; + const resources = this.generateFakeResources( + mergeQuantities(requiredQuantities, transactionFeeForDryRun) + ); + txRequestClone.addResources(resources); + + const txCost = await this.provider.getTransactionCost(txRequestClone, { + signatureCallback, + }); + + return { + ...txCost, + requiredQuantities, + }; + } + /** * Sign a message from the account via the connector. * @@ -607,9 +647,7 @@ export class Account extends AbstractAccount { txParams: TxParamsType ) { let request = transactionRequest; - const txCost = await this.provider.getTransactionCost(request, { - resourcesOwner: this, - }); + const txCost = await this.getTransactionCost(request); request = this.validateGasLimitAndMaxFee({ transactionRequest: request, gasUsed: txCost.gasUsed, diff --git a/packages/account/src/providers/provider.test.ts b/packages/account/src/providers/provider.test.ts index dfb84aaf73a..1969e7b70ee 100644 --- a/packages/account/src/providers/provider.test.ts +++ b/packages/account/src/providers/provider.test.ts @@ -1072,19 +1072,19 @@ Supported fuel-core version: ${mock.supportedVersion}.` }); }); - // TODO: validate if this test still makes sense - it.skip('should ensure estimated fee values on getTransactionCost are never 0', async () => { - using launched = await setupTestProviderAndWallets(); - const { provider } = launched; - const request = new ScriptTransactionRequest(); - - // forcing calculatePriceWithFactor to return 0 - const calculateGasFeeMock = vi.spyOn(gasMod, 'calculateGasFee').mockReturnValue(bn(0)); + it('should ensure estimated fee values on getTransactionCost are never 0', async () => { + using launched = await setupTestProviderAndWallets({ + nodeOptions: { args: ['--min-gas-price', '0'] }, + }); + const { + wallets: [wallet], + } = launched; - const { minFee, maxFee } = await provider.getTransactionCost(request); + const request = new ScriptTransactionRequest(); - expect(calculateGasFeeMock).toHaveBeenCalled(); + const { minFee, maxFee, gasPrice } = await wallet.getTransactionCost(request); + expect(gasPrice.eq(0)).toBeTruthy(); expect(maxFee.eq(0)).not.toBeTruthy(); expect(minFee.eq(0)).not.toBeTruthy(); }); @@ -1099,7 +1099,6 @@ Supported fuel-core version: ${mock.supportedVersion}.` const methodCalls = [ () => provider.getBalance(b256Str, baseAssetId), () => provider.getCoins(b256Str), - () => provider.getResourcesForTransaction(b256Str, new ScriptTransactionRequest()), () => provider.getResourcesToSpend(b256Str, []), () => provider.getContractBalance(b256Str, baseAssetId), () => provider.getBalances(b256Str), diff --git a/packages/account/src/providers/provider.ts b/packages/account/src/providers/provider.ts index cc26c3b27ff..093783d64a5 100644 --- a/packages/account/src/providers/provider.ts +++ b/packages/account/src/providers/provider.ts @@ -1,6 +1,6 @@ import { Address } from '@fuel-ts/address'; import { ErrorCode, FuelError } from '@fuel-ts/errors'; -import type { AbstractAccount, AbstractAddress, BytesLike } from '@fuel-ts/interfaces'; +import type { AbstractAddress, BytesLike } from '@fuel-ts/interfaces'; import { BN, bn } from '@fuel-ts/math'; import type { Transaction } from '@fuel-ts/transactions'; import { @@ -17,8 +17,6 @@ import { GraphQLClient } from 'graphql-request'; import type { GraphQLResponse } from 'graphql-request/src/types'; import { clone } from 'ramda'; -import type { Predicate } from '../predicate'; - import { getSdk as getOperationsSdk } from './__generated__/operations'; import type { GqlChainInfoFragment, @@ -62,7 +60,6 @@ import { } from './utils'; import type { RetryOptions } from './utils/auto-retry-fetch'; import { autoRetryFetch } from './utils/auto-retry-fetch'; -import { mergeQuantities } from './utils/merge-quantities'; const MAX_RETRIES = 10; @@ -336,15 +333,10 @@ export type EstimateTransactionParams = { }; export type TransactionCostParams = EstimateTransactionParams & { - /** - * The account that will provide the resources for the transaction. - */ - resourcesOwner?: AbstractAccount; - /** * The quantities to forward to the contract. */ - quantitiesToContract?: CoinQuantity[]; + quantities?: CoinQuantity[]; /** * A callback to sign the transaction. @@ -1120,6 +1112,8 @@ Supported fuel-core version: ${supportedVersion}.` } /** + * @hidden + * * Returns a transaction cost to enable user * to set gasLimit and also reserve balance amounts * on the transaction. @@ -1131,40 +1125,18 @@ Supported fuel-core version: ${supportedVersion}.` */ async getTransactionCost( transactionRequestLike: TransactionRequestLike, - { resourcesOwner, signatureCallback, quantitiesToContract = [] }: TransactionCostParams = {} - ): Promise { + { signatureCallback }: TransactionCostParams = {} + ): Promise> { const txRequestClone = clone(transactionRequestify(transactionRequestLike)); const isScriptTransaction = txRequestClone.type === TransactionType.Script; - const baseAssetId = this.getBaseAssetId(); const updateMaxFee = txRequestClone.maxFee.eq(0); - // Fund with fake UTXOs to avoid not enough funds error - // Getting coin quantities from amounts being transferred - const coinOutputsQuantities = txRequestClone.getCoinOutputsQuantities(); - // Combining coin quantities from amounts being transferred and forwarding to contracts - const allQuantities = mergeQuantities(coinOutputsQuantities, quantitiesToContract); - // Funding transaction with fake utxos - txRequestClone.fundWithFakeUtxos(allQuantities, baseAssetId, resourcesOwner?.address); - /** - * Estimate predicates gasUsed - */ // Remove gasLimit to avoid gasLimit when estimating predicates if (isScriptTransaction) { txRequestClone.gasLimit = bn(0); } - /** - * The fake utxos added above can be from a predicate - * If the resources owner is a predicate, - * we need to populate the resources with the predicate's data - * so that predicate estimation can happen. - */ - if (resourcesOwner && 'populateTransactionPredicateData' in resourcesOwner) { - (resourcesOwner as Predicate<[]>).populateTransactionPredicateData(txRequestClone); - } - const signedRequest = clone(txRequestClone) as ScriptTransactionRequest; - let addedSignatures = 0; if (signatureCallback && isScriptTransaction) { const lengthBefore = signedRequest.witnesses.length; @@ -1213,7 +1185,6 @@ Supported fuel-core version: ${supportedVersion}.` } return { - requiredQuantities: allQuantities, receipts, gasUsed, gasPrice, @@ -1230,48 +1201,6 @@ Supported fuel-core version: ${supportedVersion}.` }; } - /** - * Get the required quantities and associated resources for a transaction. - * - * @param owner - address to add resources from. - * @param transactionRequestLike - transaction request to populate resources for. - * @param quantitiesToContract - quantities for the contract (optional). - * - * @returns a promise resolving to the required quantities for the transaction. - */ - async getResourcesForTransaction( - owner: string | AbstractAddress, - transactionRequestLike: TransactionRequestLike, - quantitiesToContract: CoinQuantity[] = [] - ) { - const ownerAddress = Address.fromAddressOrString(owner); - const transactionRequest = transactionRequestify(clone(transactionRequestLike)); - const transactionCost = await this.getTransactionCost(transactionRequest, { - quantitiesToContract, - }); - - // Add the required resources to the transaction from the owner - transactionRequest.addResources( - await this.getResourcesToSpend(ownerAddress, transactionCost.requiredQuantities) - ); - // Refetch transaction costs with the new resources - // TODO: we could find a way to avoid fetch estimatePredicates again, by returning the transaction or - // returning a specific gasUsed by the predicate. - // Also for the dryRun we could have the same issue as we are going to run twice the dryRun and the - // estimateTxDependencies as we don't have access to the transaction, maybe returning the transaction would - // be better. - const { requiredQuantities, ...txCost } = await this.getTransactionCost(transactionRequest, { - quantitiesToContract, - }); - const resources = await this.getResourcesToSpend(ownerAddress, requiredQuantities); - - return { - resources, - requiredQuantities, - ...txCost, - }; - } - /** * Returns coins for the given owner. * diff --git a/packages/account/src/providers/transaction-request/transaction-request.test.ts b/packages/account/src/providers/transaction-request/transaction-request.test.ts index d25feee64e3..738c46cb9e8 100644 --- a/packages/account/src/providers/transaction-request/transaction-request.test.ts +++ b/packages/account/src/providers/transaction-request/transaction-request.test.ts @@ -185,11 +185,13 @@ describe('transactionRequestify', () => { expect(txRequest.witnesses).toEqual(txRequestLike.witnesses); }); - it('should throw error if invalid transaction type', () => { + it('should throw error if unsupported transaction type', () => { const txRequestLike = { - type: 5, + type: 1234, }; - expect(() => transactionRequestify(txRequestLike)).toThrow('Invalid transaction type: 5'); + expect(() => transactionRequestify(txRequestLike)).toThrow( + 'Unsupported transaction type: 1234' + ); }); }); diff --git a/packages/account/src/providers/transaction-request/utils.ts b/packages/account/src/providers/transaction-request/utils.ts index d89de4772cb..3aeac32e56a 100644 --- a/packages/account/src/providers/transaction-request/utils.ts +++ b/packages/account/src/providers/transaction-request/utils.ts @@ -21,7 +21,10 @@ export const transactionRequestify = (obj: TransactionRequestLike): TransactionR return CreateTransactionRequest.from(obj); } default: { - throw new FuelError(ErrorCode.INVALID_TRANSACTION_TYPE, `Invalid transaction type: ${type}.`); + throw new FuelError( + ErrorCode.UNSUPPORTED_TRANSACTION_TYPE, + `Unsupported transaction type: ${type}.` + ); } } }; diff --git a/packages/account/src/providers/transaction-summary/operations.test.ts b/packages/account/src/providers/transaction-summary/operations.test.ts index 2cda7a660bb..cf20482aca0 100644 --- a/packages/account/src/providers/transaction-summary/operations.test.ts +++ b/packages/account/src/providers/transaction-summary/operations.test.ts @@ -936,7 +936,7 @@ describe('operations', () => { expect(getTransactionTypeName(TransactionType.Script)).toBe(TransactionTypeName.Script); expect(() => getTransactionTypeName('' as unknown as TransactionType)).toThrowError( - 'Invalid transaction type: ' + 'Unsupported transaction type: ' ); }); }); diff --git a/packages/account/src/providers/transaction-summary/operations.ts b/packages/account/src/providers/transaction-summary/operations.ts index 55b4edd64b1..17e4f677302 100644 --- a/packages/account/src/providers/transaction-summary/operations.ts +++ b/packages/account/src/providers/transaction-summary/operations.ts @@ -57,8 +57,8 @@ export function getTransactionTypeName(transactionType: TransactionType): Transa return TransactionTypeName.Script; default: throw new FuelError( - ErrorCode.INVALID_TRANSACTION_TYPE, - `Invalid transaction type: ${transactionType}.` + ErrorCode.UNSUPPORTED_TRANSACTION_TYPE, + `Unsupported transaction type: ${transactionType}.` ); } } diff --git a/packages/account/src/test-utils/launchNode.ts b/packages/account/src/test-utils/launchNode.ts index 0554acca8fb..c4efcc2c607 100644 --- a/packages/account/src/test-utils/launchNode.ts +++ b/packages/account/src/test-utils/launchNode.ts @@ -129,6 +129,8 @@ export const launchNode = async ({ '--consensus-key', '--db-type', '--poa-instant', + '--min-gas-price', + '--native-executor-version', ]); const snapshotDir = getFlagValueFromArgs(args, '--snapshot'); @@ -142,6 +144,8 @@ export const launchNode = async ({ const nativeExecutorVersion = getFlagValueFromArgs(args, '--native-executor-version') || '0'; + const minGasPrice = getFlagValueFromArgs(args, '--min-gas-price') || '1'; + // This string is logged by the client when the node has successfully started. We use it to know when to resolve. const graphQLStartSubstring = 'Binding GraphQL provider to'; @@ -194,7 +198,7 @@ export const launchNode = async ({ ['--ip', ipToUse], ['--port', portToUse], useInMemoryDb ? ['--db-type', 'in-memory'] : ['--db-path', tempDir], - ['--min-gas-price', '1'], + ['--min-gas-price', minGasPrice], poaInstant ? ['--poa-instant', 'true'] : [], ['--native-executor-version', nativeExecutorVersion], ['--consensus-key', consensusKey], diff --git a/packages/account/src/test-utils/seedTestWallet.ts b/packages/account/src/test-utils/seedTestWallet.ts index 67b837d1ef4..2da650334f5 100644 --- a/packages/account/src/test-utils/seedTestWallet.ts +++ b/packages/account/src/test-utils/seedTestWallet.ts @@ -28,7 +28,7 @@ export const seedTestWallet = async ( }) ); - const txCost = await genesisWallet.provider.getTransactionCost(request); + const txCost = await genesisWallet.getTransactionCost(request); request.gasLimit = txCost.gasUsed; request.maxFee = txCost.maxFee; diff --git a/packages/contract/src/contract-factory.ts b/packages/contract/src/contract-factory.ts index 362d0abf025..0de99deb295 100644 --- a/packages/contract/src/contract-factory.ts +++ b/packages/contract/src/contract-factory.ts @@ -15,7 +15,12 @@ import { Contract } from '@fuel-ts/program'; import type { StorageSlot } from '@fuel-ts/transactions'; import { arrayify, isDefined } from '@fuel-ts/utils'; -import { getContractId, getContractStorageRoot, hexlifyWithPrefix } from './util'; +import { + MAX_CONTRACT_SIZE, + getContractId, + getContractStorageRoot, + hexlifyWithPrefix, +} from './util'; /** * Options for deploying a contract. @@ -149,7 +154,15 @@ export default class ContractFactory { async deployContract( deployContractOptions: DeployContractOptions = {} ): Promise> { + if (this.bytecode.length > MAX_CONTRACT_SIZE) { + throw new FuelError( + ErrorCode.CONTRACT_SIZE_EXCEEDS_LIMIT, + 'Contract bytecode is too large. Max contract size is 100KB' + ); + } + const { contractId, transactionRequest } = await this.prepareDeploy(deployContractOptions); + const account = this.getAccount(); const transactionResponse = await account.sendTransaction(transactionRequest, { @@ -220,7 +233,7 @@ export default class ContractFactory { const account = this.getAccount(); - const txCost = await account.provider.getTransactionCost(transactionRequest); + const txCost = await account.getTransactionCost(transactionRequest); const { maxFee: setMaxFee } = deployContractOptions; diff --git a/packages/contract/src/util.ts b/packages/contract/src/util.ts index 610f7b73ff1..e540d55235f 100644 --- a/packages/contract/src/util.ts +++ b/packages/contract/src/util.ts @@ -4,6 +4,9 @@ import { calcRoot, SparseMerkleTree } from '@fuel-ts/merkle'; import type { StorageSlot } from '@fuel-ts/transactions'; import { chunkAndPadBytes, hexlify, concat, arrayify } from '@fuel-ts/utils'; +// Max contract size in bytes is 100KB +export const MAX_CONTRACT_SIZE = 102400; + /** * @hidden * diff --git a/packages/errors/src/error-codes.ts b/packages/errors/src/error-codes.ts index 3a7927f71e1..4fc0c2f59d7 100644 --- a/packages/errors/src/error-codes.ts +++ b/packages/errors/src/error-codes.ts @@ -67,11 +67,12 @@ export enum ErrorCode { INVALID_TRANSACTION_INPUT = 'invalid-transaction-input', INVALID_TRANSACTION_OUTPUT = 'invalid-transaction-output', INVALID_TRANSACTION_STATUS = 'invalid-transaction-status', - INVALID_TRANSACTION_TYPE = 'invalid-transaction-type', + UNSUPPORTED_TRANSACTION_TYPE = 'unsupported-transaction-type', TRANSACTION_ERROR = 'transaction-error', INVALID_POLICY_TYPE = 'invalid-policy-type', DUPLICATED_POLICY = 'duplicated-policy', TRANSACTION_SQUEEZED_OUT = 'transaction-squeezed-out', + CONTRACT_SIZE_EXCEEDS_LIMIT = 'contract-size-exceeds-limit', // receipt INVALID_RECEIPT_TYPE = 'invalid-receipt-type', diff --git a/packages/fuel-gauge/src/advanced-logging.test.ts b/packages/fuel-gauge/src/advanced-logging.test.ts index 52de8d8553f..bdb911d96ec 100644 --- a/packages/fuel-gauge/src/advanced-logging.test.ts +++ b/packages/fuel-gauge/src/advanced-logging.test.ts @@ -232,9 +232,7 @@ describe('Advanced Logging', () => { ]) .getTransactionRequest(); - const txCost = await launched.provider.getTransactionCost(request, { - resourcesOwner: wallet, - }); + const txCost = await wallet.getTransactionCost(request); request.gasLimit = txCost.gasUsed; request.maxFee = txCost.maxFee; @@ -313,9 +311,7 @@ describe('Advanced Logging', () => { .addContracts([advancedLogContract, otherAdvancedLogContract]) .getTransactionRequest(); - const txCost = await launched.provider.getTransactionCost(request, { - resourcesOwner: wallet, - }); + const txCost = await wallet.getTransactionCost(request); request.gasLimit = txCost.gasUsed; request.maxFee = txCost.maxFee; diff --git a/packages/fuel-gauge/src/contract-factory.test.ts b/packages/fuel-gauge/src/contract-factory.test.ts index 12e15f78d7c..041e9f29ff1 100644 --- a/packages/fuel-gauge/src/contract-factory.test.ts +++ b/packages/fuel-gauge/src/contract-factory.test.ts @@ -243,4 +243,22 @@ describe('Contract Factory', () => { ) ); }); + + it('should not deploy contracts greater than 100KB', async () => { + using launched = await launchTestNode(); + const { + wallets: [wallet], + } = launched; + + const largeByteCode = `0x${'00'.repeat(112400)}`; + const factory = new ContractFactory(largeByteCode, StorageTestContractAbi__factory.abi, wallet); + + await expectToThrowFuelError( + async () => factory.deployContract(), + new FuelError( + ErrorCode.CONTRACT_SIZE_EXCEEDS_LIMIT, + 'Contract bytecode is too large. Max contract size is 100KB' + ) + ); + }); }); diff --git a/packages/fuel-gauge/src/contract.test.ts b/packages/fuel-gauge/src/contract.test.ts index c8d7365d23b..a5e1dedfae6 100644 --- a/packages/fuel-gauge/src/contract.test.ts +++ b/packages/fuel-gauge/src/contract.test.ts @@ -736,7 +736,6 @@ describe('Contract', () => { it('Parse create TX to JSON and parse back to create TX', async () => { using launched = await launchTestNode(); const { - provider, wallets: [wallet], } = launched; @@ -754,7 +753,7 @@ describe('Contract', () => { txRequestParsed ) as ScriptTransactionRequest; - const txCost = await provider.getTransactionCost(transactionRequestParsed); + const txCost = await wallet.getTransactionCost(transactionRequestParsed); transactionRequestParsed.gasLimit = txCost.gasUsed; transactionRequestParsed.maxFee = txCost.maxFee; diff --git a/packages/fuel-gauge/src/coverage-contract.test.ts b/packages/fuel-gauge/src/coverage-contract.test.ts index 88243e0d64a..038bceb1779 100644 --- a/packages/fuel-gauge/src/coverage-contract.test.ts +++ b/packages/fuel-gauge/src/coverage-contract.test.ts @@ -604,7 +604,7 @@ describe('Coverage Contract', () => { request.addCoinOutput(recipient.address, 10, provider.getBaseAssetId()); - const txCost = await sender.provider.getTransactionCost(request); + const txCost = await sender.getTransactionCost(request); request.gasLimit = txCost.gasUsed; request.maxFee = txCost.maxFee; diff --git a/packages/fuel-gauge/src/fee.test.ts b/packages/fuel-gauge/src/fee.test.ts index 76e2b929ff8..715a5d2a68d 100644 --- a/packages/fuel-gauge/src/fee.test.ts +++ b/packages/fuel-gauge/src/fee.test.ts @@ -133,9 +133,7 @@ describe('Fee', () => { request.addCoinOutput(destination2.address, amountToTransfer, ASSET_A); request.addCoinOutput(destination3.address, amountToTransfer, ASSET_B); - const txCost = await provider.getTransactionCost(request, { - resourcesOwner: wallet, - }); + const txCost = await wallet.getTransactionCost(request); request.gasLimit = txCost.gasUsed; request.maxFee = txCost.maxFee; @@ -159,7 +157,6 @@ describe('Fee', () => { using launched = await launchTestNode(); const { - provider, wallets: [wallet], } = launched; @@ -171,7 +168,7 @@ describe('Fee', () => { wallet ); const { transactionRequest } = factory.createTransactionRequest(); - const txCost = await provider.getTransactionCost(transactionRequest); + const txCost = await wallet.getTransactionCost(transactionRequest); transactionRequest.maxFee = txCost.maxFee; diff --git a/packages/fuel-gauge/src/funding-transaction.test.ts b/packages/fuel-gauge/src/funding-transaction.test.ts index 322bf5ea276..23e7838fa9c 100644 --- a/packages/fuel-gauge/src/funding-transaction.test.ts +++ b/packages/fuel-gauge/src/funding-transaction.test.ts @@ -34,7 +34,7 @@ describe('Funding Transactions', () => { const resources = await mainWallet.getResourcesToSpend([[totalAmount + 2_000, baseAssetId]]); request.addResources(resources); - const txCost = await mainWallet.provider.getTransactionCost(request); + const txCost = await mainWallet.getTransactionCost(request); request.maxFee = txCost.maxFee; request.gasLimit = txCost.gasUsed; @@ -75,7 +75,7 @@ describe('Funding Transactions', () => { request.addCoinOutput(receiver.address, amountToTransfer, provider.getBaseAssetId()); - const txCost = await provider.getTransactionCost(request); + const txCost = await sender.getTransactionCost(request); const getResourcesToSpendSpy = vi.spyOn(sender, 'getResourcesToSpend'); @@ -132,7 +132,7 @@ describe('Funding Transactions', () => { request.addCoinOutput(receiver.address, amountToTransfer, provider.getBaseAssetId()); request.addResources(enoughtResources); - const txCost = await provider.getTransactionCost(request); + const txCost = await sender.getTransactionCost(request); // TX request already carries enough resources, it does not need to be funded expect(request.inputs.length).toBe(1); @@ -186,7 +186,7 @@ describe('Funding Transactions', () => { const amountToTransfer = 1000; request.addCoinOutput(receiver.address, amountToTransfer, provider.getBaseAssetId()); - const txCost = await provider.getTransactionCost(request); + const txCost = await sender.getTransactionCost(request); // TX request does NOT carry any resources, it needs to be funded expect(request.inputs.length).toBe(0); @@ -242,7 +242,7 @@ describe('Funding Transactions', () => { const amountToTransfer = 1000; request.addCoinOutput(receiver.address, amountToTransfer, provider.getBaseAssetId()); - const txCost = await provider.getTransactionCost(request); + const txCost = await sender.getTransactionCost(request); expect(request.inputs.length).toBe(0); @@ -308,7 +308,7 @@ describe('Funding Transactions', () => { transactionRequest.addCoinOutput(receiver.address, totalInAssetA, assetA); // Executing getTransactionCost to proper estimate maxFee and gasLimit - const txCost = await provider.getTransactionCost(transactionRequest); + const txCost = await wallet1.getTransactionCost(transactionRequest); transactionRequest.gasLimit = txCost.gasUsed; transactionRequest.maxFee = txCost.maxFee; @@ -369,7 +369,7 @@ describe('Funding Transactions', () => { transactionRequest.addCoinOutput(receiver.address, 3000, assetA); transactionRequest.addCoinOutput(receiver.address, 4500, assetB); - const txCost = await provider.getTransactionCost(transactionRequest); + const txCost = await fundedWallet.getTransactionCost(transactionRequest); transactionRequest.gasLimit = txCost.gasUsed; transactionRequest.maxFee = txCost.maxFee; diff --git a/packages/fuel-gauge/src/min-gas.test.ts b/packages/fuel-gauge/src/min-gas.test.ts index f191cbfd8f7..ae61d50d37c 100644 --- a/packages/fuel-gauge/src/min-gas.test.ts +++ b/packages/fuel-gauge/src/min-gas.test.ts @@ -55,7 +55,7 @@ describe('Minimum gas tests', () => { /** * Get the transaction cost to set a strict gasLimit and min gasPrice */ - const { maxFee } = await provider.getTransactionCost(request); + const { maxFee } = await wallet.getTransactionCost(request); request.maxFee = maxFee; @@ -89,7 +89,7 @@ describe('Minimum gas tests', () => { /** * Get the transaction cost to set a strict gasLimit and min gasPrice */ - const txCost = await provider.getTransactionCost(request); + const txCost = await sender.getTransactionCost(request); request.gasLimit = txCost.gasUsed; request.maxFee = txCost.maxFee; @@ -134,7 +134,7 @@ describe('Minimum gas tests', () => { /** * Get the transaction cost to set a strict gasLimit and min gasPrice */ - const txCost = await provider.getTransactionCost(request, { resourcesOwner: predicate }); + const txCost = await predicate.getTransactionCost(request); request.gasLimit = txCost.gasUsed; request.maxFee = txCost.maxFee; @@ -193,9 +193,7 @@ describe('Minimum gas tests', () => { // add account transfer request.addCoinOutput(Address.fromRandom(), bn(100), baseAssetId); - const txCost = await provider.getTransactionCost(request, { - resourcesOwner: predicate, - }); + const txCost = await predicate.getTransactionCost(request); request.gasLimit = txCost.gasUsed; request.maxFee = txCost.maxFee; diff --git a/packages/fuel-gauge/src/policies.test.ts b/packages/fuel-gauge/src/policies.test.ts index 51ed2913eac..2b66c8479c7 100644 --- a/packages/fuel-gauge/src/policies.test.ts +++ b/packages/fuel-gauge/src/policies.test.ts @@ -10,7 +10,7 @@ import { } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { PayableAnnotationFactory, ScriptMainArgs } from '../test/typegen'; +import { PayableAnnotation, PayableAnnotationFactory, ScriptMainArgs } from '../test/typegen'; /** * @group node @@ -127,7 +127,7 @@ describe('Policies', () => { txRequest.addCoinOutput(receiver.address, 500, provider.getBaseAssetId()); - const txCost = await provider.getTransactionCost(txRequest); + const txCost = await wallet.getTransactionCost(txRequest); txRequest.gasLimit = txCost.gasUsed; txRequest.maxFee = txCost.maxFee; @@ -151,22 +151,25 @@ describe('Policies', () => { using launched = await launchTestNode(); const { - provider, wallets: [wallet], } = launched; + const txParams: CustomTxParams = { tip: 11, witnessLimit: 2000, maxFee: 70_000, }; - // QUESTION: why use script stuff in a contract factorty? - const factory = new ContractFactory(ScriptMainArgs.bytecode, ScriptMainArgs.abi, wallet); + const factory = new ContractFactory( + PayableAnnotationFactory.bytecode, + PayableAnnotation.abi, + wallet + ); const { transactionRequest: txRequest } = factory.createTransactionRequest(txParams); - const txCost = await provider.getTransactionCost(txRequest); + const txCost = await wallet.getTransactionCost(txRequest); txRequest.maxFee = txCost.maxFee; @@ -438,7 +441,7 @@ describe('Policies', () => { const maxFee = 1; - const factory = new ContractFactory(ScriptMainArgs.bytecode, ScriptMainArgs.abi, wallet); + const factory = new ContractFactory(PayableAnnotationFactory.bytecode, PayableAnnotation.abi, wallet); const txParams: CustomTxParams = { witnessLimit: 800, diff --git a/packages/fuel-gauge/src/predicate-conditional-inputs.test.ts b/packages/fuel-gauge/src/predicate-conditional-inputs.test.ts index a58a27154cb..78a7ca9c311 100644 --- a/packages/fuel-gauge/src/predicate-conditional-inputs.test.ts +++ b/packages/fuel-gauge/src/predicate-conditional-inputs.test.ts @@ -47,7 +47,7 @@ describe('PredicateConditionalInputs', () => { .addResources(predicateResoruces) .addCoinOutput(aliceWallet.address, amountToTransfer, ASSET_A); - const txCost = await aliceWallet.provider.getTransactionCost(request, { + const txCost = await aliceWallet.getTransactionCost(request, { resourcesOwner: aliceWallet, }); @@ -132,7 +132,7 @@ describe('PredicateConditionalInputs', () => { .addResources(predicateResources) .addCoinOutput(aliceWallet.address, amountToTransfer, ASSET_A); - const txCost = await aliceWallet.provider.getTransactionCost(request); + const txCost = await aliceWallet.getTransactionCost(request); request.gasLimit = txCost.gasUsed; request.maxFee = txCost.maxFee; diff --git a/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts b/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts index 647e7af8c27..db6b47df9a6 100644 --- a/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts @@ -195,6 +195,48 @@ describe('Predicate', () => { await assertBalance(destination, amountToTransfer, provider.getBaseAssetId()); }); + it('calls a predicate with partial configurables being set', async () => { + using launched = await launchTestNode(); + + const { + provider, + wallets: [wallet], + } = launched; + + const configurableConstants = { + ADDRESS: getRandomB256(), + }; + + const amountToTransfer = 300; + + const predicate = PredicateWithConfigurableAbi__factory.createInstance( + provider, + [defaultValues.FEE, configurableConstants.ADDRESS], + configurableConstants + ); + + const destination = WalletUnlocked.generate({ + provider: wallet.provider, + }); + + await assertBalance(destination, 0, provider.getBaseAssetId()); + + await fundPredicate(wallet, predicate, amountToPredicate); + + const tx = await predicate.transfer( + destination.address, + amountToTransfer, + provider.getBaseAssetId(), + { + gasLimit: 1000, + } + ); + + await tx.waitForResult(); + + await assertBalance(destination, amountToTransfer, provider.getBaseAssetId()); + }); + it('throws when configurable data is not set', async () => { using launched = await launchTestNode(); diff --git a/packages/fuel-gauge/src/predicate/utils/predicate/fundPredicate.ts b/packages/fuel-gauge/src/predicate/utils/predicate/fundPredicate.ts index d23d89e5226..ae37ba15489 100644 --- a/packages/fuel-gauge/src/predicate/utils/predicate/fundPredicate.ts +++ b/packages/fuel-gauge/src/predicate/utils/predicate/fundPredicate.ts @@ -18,7 +18,7 @@ export const fundPredicate = async ( ); } - const txCost = await wallet.provider.getTransactionCost(request); + const txCost = await wallet.getTransactionCost(request); request.gasLimit = txCost.gasUsed; request.maxFee = txCost.maxFee; await wallet.fund(request, txCost); diff --git a/packages/fuel-gauge/src/revert-error.test.ts b/packages/fuel-gauge/src/revert-error.test.ts index 32ba3560903..04fd908a6aa 100644 --- a/packages/fuel-gauge/src/revert-error.test.ts +++ b/packages/fuel-gauge/src/revert-error.test.ts @@ -193,7 +193,6 @@ describe('Revert Error Testing', () => { const { wallets: [wallet], - provider, } = launched; const factory = new ContractFactory(TokenContractFactory.bytecode, TokenContract.abi, wallet); @@ -213,7 +212,7 @@ describe('Revert Error Testing', () => { ]) .getTransactionRequest(); - const txCost = await provider.getTransactionCost(request); + const txCost = await wallet.getTransactionCost(request); request.gasLimit = txCost.gasUsed; request.maxFee = txCost.maxFee; diff --git a/packages/fuel-gauge/src/script-with-configurable.test.ts b/packages/fuel-gauge/src/script-with-configurable.test.ts index fa0a3ad8496..d6e2d7f85cc 100644 --- a/packages/fuel-gauge/src/script-with-configurable.test.ts +++ b/packages/fuel-gauge/src/script-with-configurable.test.ts @@ -1,8 +1,9 @@ import { launchTestNode } from 'fuels/test-utils'; import { ScriptWithConfigurable } from '../test/typegen'; +import type { ScriptWithConfigurableAbiConfigurables } from '../test/typegen/scripts/ScriptWithConfigurableConfigurables'; -const defaultValues = { +const defaultValues: ScriptWithConfigurableAbiConfigurables = { FEE: 5, }; @@ -35,7 +36,7 @@ describe('Script With Configurable', () => { wallets: [wallet], } = launched; - const configurableConstants = { FEE: 71 }; + const configurableConstants: ScriptWithConfigurableAbiConfigurables = { FEE: 71 }; expect(configurableConstants.FEE).not.toEqual(defaultValues.FEE); @@ -56,7 +57,7 @@ describe('Script With Configurable', () => { wallets: [wallet], } = launched; - const configurableConstants = { FEE: 35 }; + const configurableConstants: ScriptWithConfigurableAbiConfigurables = { FEE: 35 }; const script = new ScriptWithConfigurable(wallet); @@ -75,7 +76,7 @@ describe('Script With Configurable', () => { wallets: [wallet], } = launched; - const configurableConstants = { FEE: 10 }; + const configurableConstants: ScriptWithConfigurableAbiConfigurables = { FEE: 10 }; const input = { FEE: 15 }; diff --git a/packages/fuel-gauge/src/transaction-response.test.ts b/packages/fuel-gauge/src/transaction-response.test.ts index 926a465e9eb..1ad07b059b2 100644 --- a/packages/fuel-gauge/src/transaction-response.test.ts +++ b/packages/fuel-gauge/src/transaction-response.test.ts @@ -229,7 +229,7 @@ describe('TransactionResponse', () => { request.addCoinOutput(Wallet.generate(), 100, provider.getBaseAssetId()); - const txCost = await genesisWallet.provider.getTransactionCost(request); + const txCost = await genesisWallet.getTransactionCost(request); request.gasLimit = txCost.gasUsed; request.maxFee = txCost.maxFee; @@ -272,7 +272,7 @@ describe('TransactionResponse', () => { request.addCoinOutput(Wallet.generate(), 100, provider.getBaseAssetId()); - const txCost = await genesisWallet.provider.getTransactionCost(request, { + const txCost = await genesisWallet.getTransactionCost(request, { signatureCallback: (tx) => tx.addAccountWitnesses(genesisWallet), }); diff --git a/packages/fuel-gauge/src/transaction-summary.test.ts b/packages/fuel-gauge/src/transaction-summary.test.ts index 4915e3a0596..10fa3431f98 100644 --- a/packages/fuel-gauge/src/transaction-summary.test.ts +++ b/packages/fuel-gauge/src/transaction-summary.test.ts @@ -71,7 +71,7 @@ describe('TransactionSummary', () => { request.addCoinOutput(destination.address, amountToTransfer, provider.getBaseAssetId()); - const txCost = await adminWallet.provider.getTransactionCost(request); + const txCost = await adminWallet.getTransactionCost(request); request.gasLimit = txCost.gasUsed; request.maxFee = txCost.maxFee; @@ -160,7 +160,7 @@ describe('TransactionSummary', () => { gasLimit: 10000, }); - const txCost = await adminWallet.provider.getTransactionCost(request); + const txCost = await adminWallet.getTransactionCost(request); request.gasLimit = txCost.gasUsed; request.maxFee = txCost.maxFee; @@ -556,7 +556,7 @@ describe('TransactionSummary', () => { }); }); - const txCost = await provider.getTransactionCost(request); + const txCost = await wallet.getTransactionCost(request); request.gasLimit = txCost.gasUsed; request.maxFee = txCost.maxFee; diff --git a/packages/fuels/package.json b/packages/fuels/package.json index c2b94c8e021..0845203f7e6 100644 --- a/packages/fuels/package.json +++ b/packages/fuels/package.json @@ -93,7 +93,7 @@ "devDependencies": { "@types/lodash.camelcase": "^4.3.9", "@types/rimraf": "^3.0.2", - "vite": "^5.3.3" + "vite": "^5.3.4" }, "keywords": [ "ethereum", diff --git a/packages/interfaces/src/index.ts b/packages/interfaces/src/index.ts index 45aa8d169cf..527027fb7ef 100644 --- a/packages/interfaces/src/index.ts +++ b/packages/interfaces/src/index.ts @@ -63,6 +63,7 @@ export abstract class AbstractAccount { abstract getResourcesToSpend(quantities: any[], options?: any): any; abstract sendTransaction(transactionRequest: any, options?: any): any; abstract simulateTransaction(transactionRequest: any, options?: any): any; + abstract getTransactionCost(transactionRequest: any, options?: any): Promise; abstract fund(transactionRequest: any, txCost: any): Promise; } /** @@ -76,6 +77,7 @@ export abstract class AbstractProgram { abstract provider: { sendTransaction(transactionRequest: any, options?: any): any; + getTransactionCost(transactionRequest: any, options?: any): Promise; } | null; } diff --git a/packages/program/src/functions/base-invocation-scope.ts b/packages/program/src/functions/base-invocation-scope.ts index f5bbcda27a0..4594069cb03 100644 --- a/packages/program/src/functions/base-invocation-scope.ts +++ b/packages/program/src/functions/base-invocation-scope.ts @@ -8,8 +8,9 @@ import type { Account, TransferParams, TransactionResponse, + TransactionCost, } from '@fuel-ts/account'; -import { ScriptTransactionRequest } from '@fuel-ts/account'; +import { ScriptTransactionRequest, Wallet } from '@fuel-ts/account'; import { Address } from '@fuel-ts/address'; import { ErrorCode, FuelError } from '@fuel-ts/errors'; import type { AbstractAccount, AbstractContract, AbstractProgram } from '@fuel-ts/interfaces'; @@ -228,22 +229,19 @@ export class BaseInvocationScope { } /** - * Gets the transaction cost ny dry running the transaction. + * Gets the transaction cost for dry running the transaction. * * @param options - Optional transaction cost options. * @returns The transaction cost details. */ - async getTransactionCost() { - const provider = this.getProvider(); - - const request = await this.getTransactionRequest(); - const txCost = await provider.getTransactionCost(request, { - resourcesOwner: this.program.account as AbstractAccount, - quantitiesToContract: this.getRequiredCoins(), + async getTransactionCost(): Promise { + const request = clone(await this.getTransactionRequest()); + const account: AbstractAccount = + this.program.account ?? Wallet.generate({ provider: this.getProvider() }); + return account.getTransactionCost(request, { + quantities: this.getRequiredCoins(), signatureCallback: this.addSignersCallback, }); - - return txCost; } /** diff --git a/packages/script/src/script.test.ts b/packages/script/src/script.test.ts index f11dfa59bb9..ef107a70911 100644 --- a/packages/script/src/script.test.ts +++ b/packages/script/src/script.test.ts @@ -45,7 +45,7 @@ const callScript = async ( // Keep a list of coins we need to input to this transaction - const txCost = await account.provider.getTransactionCost(request); + const txCost = await account.getTransactionCost(request); request.gasLimit = txCost.gasUsed; request.maxFee = txCost.maxFee; diff --git a/packages/transactions/src/coders/transaction.ts b/packages/transactions/src/coders/transaction.ts index 1aab7442bb4..efca5d0e472 100644 --- a/packages/transactions/src/coders/transaction.ts +++ b/packages/transactions/src/coders/transaction.ts @@ -628,8 +628,8 @@ export class TransactionCoder extends Coder { } default: { throw new FuelError( - ErrorCode.INVALID_TRANSACTION_TYPE, - `Invalid transaction type: ${type}` + ErrorCode.UNSUPPORTED_TRANSACTION_TYPE, + `Unsupported transaction type: ${type}` ); } } @@ -667,8 +667,8 @@ export class TransactionCoder extends Coder { } default: { throw new FuelError( - ErrorCode.INVALID_TRANSACTION_TYPE, - `Invalid transaction type: ${type}` + ErrorCode.UNSUPPORTED_TRANSACTION_TYPE, + `Unsupported transaction type: ${type}` ); } } diff --git a/packages/transactions/src/coders/upgrade-purpose.ts b/packages/transactions/src/coders/upgrade-purpose.ts index 1b51e340abf..33db4b8d5ad 100644 --- a/packages/transactions/src/coders/upgrade-purpose.ts +++ b/packages/transactions/src/coders/upgrade-purpose.ts @@ -59,8 +59,8 @@ export class UpgradePurposeCoder extends Coder { default: { throw new FuelError( - ErrorCode.INVALID_TRANSACTION_TYPE, - `Invalid transaction type: ${type}` + ErrorCode.UNSUPPORTED_TRANSACTION_TYPE, + `Unsupported transaction type: ${type}` ); } } @@ -94,8 +94,8 @@ export class UpgradePurposeCoder extends Coder { default: { throw new FuelError( - ErrorCode.INVALID_TRANSACTION_TYPE, - `Invalid transaction type: ${type}` + ErrorCode.UNSUPPORTED_TRANSACTION_TYPE, + `Unsupported transaction type: ${type}` ); } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 844d2b7fd3d..8c40707a83b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -48,11 +48,11 @@ importers: specifier: ^1.0.2 version: 1.0.2(nyc@17.0.0) '@playwright/test': - specifier: ^1.45.1 - version: 1.45.1 + specifier: ^1.45.3 + version: 1.45.3 '@types/node': - specifier: 18.15.3 - version: 18.15.3 + specifier: 20.14.11 + version: 20.14.11 '@types/node-fetch': specifier: ^2.6.11 version: 2.6.11 @@ -67,10 +67,10 @@ importers: version: 6.9.1(eslint@8.57.0)(typescript@5.4.5) '@vitest/browser': specifier: ^1.6.0 - version: 1.6.0(playwright@1.45.1)(vitest@1.6.0)(webdriverio@8.39.1(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)) + version: 1.6.0(playwright@1.45.3)(vitest@1.6.0)(webdriverio@8.39.1(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)) '@vitest/coverage-istanbul': specifier: ^1.6.0 - version: 1.6.0(vitest@1.6.0(@types/node@18.15.3)(@vitest/browser@1.6.0)(jsdom@16.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(terser@5.18.2)) + version: 1.6.0(vitest@1.6.0(@types/node@20.14.11)(@vitest/browser@1.6.0)(jsdom@16.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(terser@5.31.3)) compare-versions: specifier: ^6.1.1 version: 6.1.1 @@ -102,11 +102,11 @@ importers: specifier: ^6.9.0 version: 6.9.0(eslint@8.57.0) eslint-plugin-prettier: - specifier: ^5.1.3 - version: 5.1.3(@types/eslint@8.40.2)(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.3.3) + specifier: ^5.2.1 + version: 5.2.1(@types/eslint@8.40.2)(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.3.3) eslint-plugin-react: - specifier: ^7.34.4 - version: 7.34.4(eslint@8.57.0) + specifier: ^7.35.0 + version: 7.35.0(eslint@8.57.0) eslint-plugin-react-hooks: specifier: ^4.6.2 version: 4.6.2(eslint@8.57.0) @@ -117,8 +117,8 @@ importers: specifier: ^10.2.6 version: 10.2.6 knip: - specifier: ^5.26.0 - version: 5.26.0(@types/node@18.15.3)(typescript@5.4.5) + specifier: ^5.27.0 + version: 5.27.0(@types/node@20.14.11)(typescript@5.4.5) memfs: specifier: ^4.9.3 version: 4.9.3 @@ -151,31 +151,31 @@ importers: version: 0.1.1 tsup: specifier: ^6.7.0 - version: 6.7.0(postcss@8.4.39)(ts-node@10.9.1(@types/node@18.15.3)(typescript@5.4.5))(typescript@5.4.5) + version: 6.7.0(postcss@8.4.39)(ts-node@10.9.1(@types/node@20.14.11)(typescript@5.4.5))(typescript@5.4.5) tsx: specifier: ^4.16.2 version: 4.16.2 turbo: - specifier: ^2.0.6 - version: 2.0.6 + specifier: ^2.0.9 + version: 2.0.9 typescript: specifier: ~5.4.5 version: 5.4.5 vite: - specifier: ^5.3.3 - version: 5.3.3(@types/node@18.15.3)(terser@5.18.2) + specifier: ^5.3.4 + version: 5.3.4(@types/node@20.14.11)(terser@5.31.3) vite-plugin-json5: specifier: ^1.1.2 - version: 1.1.2(@rollup/pluginutils@5.1.0(rollup@4.16.4))(vite@5.3.3(@types/node@18.15.3)(terser@5.18.2)) + version: 1.1.2(@rollup/pluginutils@5.1.0(rollup@4.19.0))(vite@5.3.4(@types/node@20.14.11)(terser@5.31.3)) vite-plugin-node-polyfills: specifier: ^0.22.0 - version: 0.22.0(rollup@4.16.4)(vite@5.3.3(@types/node@18.15.3)(terser@5.18.2)) + version: 0.22.0(rollup@4.19.0)(vite@5.3.4(@types/node@20.14.11)(terser@5.31.3)) vite-plugin-plain-text: specifier: ^1.4.2 version: 1.4.2 vitest: specifier: ^1.6.0 - version: 1.6.0(@types/node@18.15.3)(@vitest/browser@1.6.0)(jsdom@16.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(terser@5.18.2) + version: 1.6.0(@types/node@20.14.11)(@vitest/browser@1.6.0)(jsdom@16.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(terser@5.31.3) webdriverio: specifier: ^8.39.1 version: 8.39.1(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4) @@ -184,13 +184,13 @@ importers: dependencies: '@fuels/connectors': specifier: ^0.8.1 - version: 0.8.1(cjycyhi4hner6hovr2iowxmmxu) + version: 0.8.1(k2ud2i2wv46qxwp735fopuoem4) '@fuels/react': specifier: ^0.20.0 - version: 0.20.0(@tanstack/react-query@5.51.1(react@18.3.1))(@types/react-dom@18.3.0)(@types/react@18.3.3)(fuels@packages+fuels)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 0.20.0(@tanstack/react-query@5.51.11(react@18.3.1))(@types/react-dom@18.3.0)(@types/react@18.3.3)(fuels@packages+fuels)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tanstack/react-query': - specifier: ^5.51.1 - version: 5.51.1(react@18.3.1) + specifier: ^5.51.11 + version: 5.51.11(react@18.3.1) dotenv: specifier: ^16.4.5 version: 16.4.5 @@ -199,7 +199,7 @@ importers: version: link:../../packages/fuels next: specifier: 14.2.5 - version: 14.2.5(@babel/core@7.24.7)(@playwright/test@1.45.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 14.2.5(@babel/core@7.24.9)(@playwright/test@1.45.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: specifier: ^18.3 version: 18.3.1 @@ -210,8 +210,8 @@ importers: specifier: ^2.4.1 version: 2.4.1(csstype@3.1.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react-use: - specifier: ^17.5.0 - version: 17.5.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^17.5.1 + version: 17.5.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) devDependencies: '@types/node': specifier: ^20 @@ -235,8 +235,8 @@ importers: specifier: ^8 version: 8.4.33 tailwindcss: - specifier: ^3.4.4 - version: 3.4.4(ts-node@10.9.1(@types/node@20.11.13)(typescript@5.2.2)) + specifier: ^3.4.6 + version: 3.4.6(ts-node@10.9.1(@types/node@20.11.13)(typescript@5.2.2)) typescript: specifier: ^5 version: 5.2.2 @@ -275,8 +275,8 @@ importers: specifier: 0.55.0 version: 0.55.0 '@types/node': - specifier: 18.15.3 - version: 18.15.3 + specifier: 20.14.11 + version: 20.14.11 '@types/react': specifier: 18.3.3 version: 18.3.3 @@ -288,7 +288,7 @@ importers: version: link:../../packages/fuels next: specifier: 14.2.5 - version: 14.2.5(@babel/core@7.24.4)(@playwright/test@1.45.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 14.2.5(@babel/core@7.24.4)(@playwright/test@1.45.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: specifier: 18.3.1 version: 18.3.1 @@ -314,8 +314,8 @@ importers: specifier: ^16.0.0 version: 16.0.0(@testing-library/dom@8.20.1)(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/node': - specifier: ^16.18.34 - version: 16.18.34 + specifier: ^20.14.11 + version: 20.14.11 '@types/react': specifier: ^18.3.3 version: 18.3.3 @@ -324,7 +324,7 @@ importers: version: 18.3.0 eslint-config-react-app: specifier: ^7.0.1 - version: 7.0.1(@babel/plugin-syntax-flow@7.24.6(@babel/core@7.22.5))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.22.5))(eslint@8.57.0)(jest@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.34)(typescript@5.4.5))(utf-8-validate@6.0.4))(typescript@5.4.5) + version: 7.0.1(@babel/plugin-syntax-flow@7.24.7(@babel/core@7.22.5))(@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.22.5))(eslint@8.57.0)(jest@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@20.14.11)(typescript@5.4.5))(utf-8-validate@6.0.4))(typescript@5.4.5) fuels: specifier: workspace:* version: link:../../packages/fuels @@ -336,7 +336,7 @@ importers: version: 18.3.1(react@18.3.1) react-scripts: specifier: 5.0.1 - version: 5.0.1(@babel/plugin-syntax-flow@7.24.6(@babel/core@7.22.5))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.22.5))(@types/babel__core@7.20.5)(bufferutil@4.0.8)(esbuild@0.17.19)(eslint@8.57.0)(react@18.3.1)(ts-node@10.9.1(@types/node@16.18.34)(typescript@5.4.5))(type-fest@3.1.0)(typescript@5.4.5)(utf-8-validate@6.0.4) + version: 5.0.1(@babel/plugin-syntax-flow@7.24.7(@babel/core@7.22.5))(@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.22.5))(@types/babel__core@7.20.5)(bufferutil@4.0.8)(esbuild@0.17.19)(eslint@8.57.0)(react@18.3.1)(ts-node@10.9.1(@types/node@20.14.11)(typescript@5.4.5))(type-fest@3.1.0)(typescript@5.4.5)(utf-8-validate@6.0.4) typescript: specifier: ~5.4.5 version: 5.4.5 @@ -377,7 +377,7 @@ importers: version: 5.59.0(eslint@8.57.0)(typescript@5.4.5) '@vitejs/plugin-react': specifier: ^4.3.1 - version: 4.3.1(vite@5.3.3(@types/node@20.11.13)(terser@5.18.2)) + version: 4.3.1(vite@5.3.4(@types/node@20.14.11)(terser@5.31.3)) eslint: specifier: ^8.57.0 version: 8.57.0 @@ -385,14 +385,14 @@ importers: specifier: ^4.6.2 version: 4.6.2(eslint@8.57.0) eslint-plugin-react-refresh: - specifier: ^0.4.8 - version: 0.4.8(eslint@8.57.0) + specifier: ^0.4.9 + version: 0.4.9(eslint@8.57.0) typescript: specifier: ~5.4.5 version: 5.4.5 vite: - specifier: ^5.3.3 - version: 5.3.3(@types/node@20.11.13)(terser@5.18.2) + specifier: ^5.3.4 + version: 5.3.4(@types/node@20.14.11)(terser@5.31.3) apps/demo-typegen: dependencies: @@ -413,20 +413,20 @@ importers: apps/demo-wallet-sdk-react: dependencies: '@fuels/connectors': - specifier: ^0.2.2 - version: 0.2.2(fuels@packages+fuels) + specifier: ^0.8.1 + version: 0.8.1(q544yml72pjriuksxyilfzvyhu) '@fuels/react': specifier: ^0.20.0 - version: 0.20.0(@tanstack/react-query@5.51.1(react@18.3.1))(@types/react-dom@18.2.4)(@types/react@18.3.3)(fuels@packages+fuels)(react-dom@18.2.0(react@18.3.1))(react@18.3.1) + version: 0.20.0(@tanstack/react-query@5.51.11(react@18.3.1))(@types/react-dom@18.2.4)(@types/react@18.3.3)(fuels@packages+fuels)(react-dom@18.2.0(react@18.3.1))(react@18.3.1) '@tanstack/react-query': - specifier: ^5.51.1 - version: 5.51.1(react@18.3.1) + specifier: ^5.51.11 + version: 5.51.11(react@18.3.1) fuels: specifier: workspace:* version: link:../../packages/fuels next: specifier: 14.2.5 - version: 14.2.5(@babel/core@7.24.4)(@playwright/test@1.45.1)(react-dom@18.2.0(react@18.3.1))(react@18.3.1) + version: 14.2.5(@babel/core@7.24.9)(@playwright/test@1.45.3)(react-dom@18.2.0(react@18.3.1))(react@18.3.1) react: specifier: ^18.3.1 version: 18.3.1 @@ -450,8 +450,8 @@ importers: specifier: ^8 version: 8.4.33 tailwindcss: - specifier: ^3.4.4 - version: 3.4.4(ts-node@10.9.1(@types/node@20.11.13)(typescript@5.2.2)) + specifier: ^3.4.6 + version: 3.4.6(ts-node@10.9.1(@types/node@20.11.13)(typescript@5.2.2)) typescript: specifier: ^5 version: 5.2.2 @@ -497,13 +497,13 @@ importers: version: 5.1.0(typedoc@0.25.13(typescript@5.4.5)) vitepress: specifier: 1.3.1 - version: 1.3.1(@algolia/client-search@4.22.1)(@types/node@20.11.13)(@types/react@18.3.3)(change-case@4.1.2)(idb-keyval@6.2.1)(postcss@8.4.39)(qrcode@1.5.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.11.0)(terser@5.18.2)(typescript@5.4.5) + version: 1.3.1(@algolia/client-search@4.22.1)(@types/node@20.14.11)(@types/react@18.3.3)(change-case@4.1.2)(idb-keyval@6.2.1)(postcss@8.4.39)(qrcode@1.5.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.11.0)(terser@5.31.3)(typescript@5.4.5) vitepress-plugin-search: specifier: 1.0.4-alpha.19 - version: 1.0.4-alpha.19(flexsearch@0.7.43)(vitepress@1.3.1(@algolia/client-search@4.22.1)(@types/node@20.11.13)(@types/react@18.3.3)(change-case@4.1.2)(idb-keyval@6.2.1)(postcss@8.4.39)(qrcode@1.5.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.11.0)(terser@5.18.2)(typescript@5.4.5))(vue@3.4.31(typescript@5.4.5)) + version: 1.0.4-alpha.19(flexsearch@0.7.43)(vitepress@1.3.1(@algolia/client-search@4.22.1)(@types/node@20.14.11)(@types/react@18.3.3)(change-case@4.1.2)(idb-keyval@6.2.1)(postcss@8.4.39)(qrcode@1.5.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.11.0)(terser@5.31.3)(typescript@5.4.5))(vue@3.4.33(typescript@5.4.5)) vue: - specifier: ^3.4.31 - version: 3.4.31(typescript@5.4.5) + specifier: ^3.4.33 + version: 3.4.33(typescript@5.4.5) apps/docs-snippets: devDependencies: @@ -524,7 +524,7 @@ importers: version: link:../../packages/fuels vitest: specifier: ^1.6.0 - version: 1.6.0(@types/node@20.11.13)(@vitest/browser@1.6.0)(jsdom@16.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(terser@5.18.2) + version: 1.6.0(@types/node@20.14.11)(@vitest/browser@1.6.0)(jsdom@16.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(terser@5.31.3) internal/check-imports: dependencies: @@ -731,7 +731,7 @@ importers: devDependencies: '@graphql-codegen/cli': specifier: ^5.0.2 - version: 5.0.2(@parcel/watcher@2.4.1)(@types/node@20.11.13)(bufferutil@4.0.8)(cosmiconfig-toml-loader@1.0.0)(enquirer@2.3.6)(graphql@16.9.0)(typescript@5.4.5)(utf-8-validate@6.0.4) + version: 5.0.2(@parcel/watcher@2.4.1)(@types/node@20.14.11)(bufferutil@4.0.8)(cosmiconfig-toml-loader@1.0.0)(enquirer@2.3.6)(graphql@16.9.0)(typescript@5.4.5)(utf-8-validate@6.0.4) '@graphql-codegen/typescript': specifier: ^4.0.9 version: 4.0.9(graphql@16.9.0) @@ -992,8 +992,8 @@ importers: specifier: ^3.0.2 version: 3.0.2 vite: - specifier: ^5.3.3 - version: 5.3.3(@types/node@20.11.13)(terser@5.18.2) + specifier: ^5.3.4 + version: 5.3.4(@types/node@20.14.11)(terser@5.31.3) packages/hasher: dependencies: @@ -1179,13 +1179,13 @@ importers: dependencies: '@fuels/connectors': specifier: ^0.8.1 - version: 0.8.1(gzqss7a4va6g6zpnxcim2yt36e) + version: 0.8.1(5lexq25fcm75qerxg2bsjhzrs4) '@fuels/react': specifier: ^0.20.0 - version: 0.20.0(@tanstack/react-query@5.51.1(react@18.3.1))(@types/react-dom@18.3.0)(@types/react@18.3.3)(fuels@packages+fuels)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 0.20.0(@tanstack/react-query@5.51.11(react@18.3.1))(@types/react-dom@18.3.0)(@types/react@18.3.3)(fuels@packages+fuels)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tanstack/react-query': - specifier: ^5.51.1 - version: 5.51.1(react@18.3.1) + specifier: ^5.51.11 + version: 5.51.11(react@18.3.1) dotenv: specifier: ^16.4.5 version: 16.4.5 @@ -1194,7 +1194,7 @@ importers: version: link:../../packages/fuels next: specifier: 14.2.5 - version: 14.2.5(@babel/core@7.24.7)(@playwright/test@1.45.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 14.2.5(@babel/core@7.24.9)(@playwright/test@1.45.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: specifier: ^18.3 version: 18.3.1 @@ -1205,8 +1205,8 @@ importers: specifier: ^2.4.1 version: 2.4.1(csstype@3.1.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react-use: - specifier: ^17.5.0 - version: 17.5.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: ^17.5.1 + version: 17.5.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) devDependencies: '@types/node': specifier: ^20 @@ -1230,14 +1230,14 @@ importers: specifier: ^8 version: 8.4.24 tailwindcss: - specifier: ^3.4.4 - version: 3.4.4(ts-node@10.9.1(@types/node@20.10.5)(typescript@5.4.5)) + specifier: ^3.4.6 + version: 3.4.6(ts-node@10.9.1(@types/node@20.10.5)(typescript@5.4.5)) typescript: specifier: ~5.4.5 version: 5.4.5 vitest: specifier: ^1.6.0 - version: 1.6.0(@types/node@20.10.5)(@vitest/browser@1.6.0)(jsdom@16.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(terser@5.18.2) + version: 1.6.0(@types/node@20.10.5)(@vitest/browser@1.6.0)(jsdom@16.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(terser@5.31.3) packages: @@ -1330,6 +1330,10 @@ packages: resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} engines: {node: '>=6.0.0'} + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + '@apideck/better-ajv-errors@0.3.6': resolution: {integrity: sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==} engines: {node: '>=10'} @@ -1380,6 +1384,10 @@ packages: resolution: {integrity: sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==} engines: {node: '>=6.9.0'} + '@babel/compat-data@7.24.9': + resolution: {integrity: sha512-e701mcfApCJqMMueQI0Fb68Amflj83+dvAvHawoBpAz+GDjCIyGHzNwnefjsWJ3xiYAqqiQFoWbspGYBdb2/ng==} + engines: {node: '>=6.9.0'} + '@babel/core@7.22.5': resolution: {integrity: sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==} engines: {node: '>=6.9.0'} @@ -1392,6 +1400,10 @@ packages: resolution: {integrity: sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==} engines: {node: '>=6.9.0'} + '@babel/core@7.24.9': + resolution: {integrity: sha512-5e3FI4Q3M3Pbr21+5xJwCv6ZT6KmGkI0vw3Tozy5ODAQFTIWe37iT8Cr7Ice2Ntb+M3iSKCEWMB1MBgKrW3whg==} + engines: {node: '>=6.9.0'} + '@babel/eslint-parser@7.22.5': resolution: {integrity: sha512-C69RWYNYtrgIRE5CmTd77ZiLDXqgBipahJc/jHP3sLcAGj6AJzxNIuKNpVnICqbyK7X3pFUfEvL++rvtbQpZkQ==} engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} @@ -1399,6 +1411,10 @@ packages: '@babel/core': '>=7.11.0' eslint: ^7.5.0 || ^8.0.0 + '@babel/generator@7.24.10': + resolution: {integrity: sha512-o9HBZL1G2129luEUlG1hB4N/nlYNWHnpwlND9eOMclRqqu1YDy2sSYVCFUZwl8I1Gxh+QSRrP2vD7EpUmFVXxg==} + engines: {node: '>=6.9.0'} + '@babel/generator@7.24.4': resolution: {integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==} engines: {node: '>=6.9.0'} @@ -1415,6 +1431,10 @@ packages: resolution: {integrity: sha512-DitEzDfOMnd13kZnDqns1ccmftwJTS9DMkyn9pYTxulS7bZxUxpMly3Nf23QQ6NwA4UB8lAqjbqWtyvElEMAkg==} engines: {node: '>=6.9.0'} + '@babel/helper-annotate-as-pure@7.24.7': + resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==} + engines: {node: '>=6.9.0'} + '@babel/helper-builder-binary-assignment-operator-visitor@7.22.5': resolution: {integrity: sha512-m1EP3lVOPptR+2DwD125gziZNcmoNSHGmJROKoy87loWUQyJaVXDgpmruWqDARZSmtYQ+Dl25okU8+qhVzuykw==} engines: {node: '>=6.9.0'} @@ -1433,14 +1453,18 @@ packages: resolution: {integrity: sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==} engines: {node: '>=6.9.0'} + '@babel/helper-compilation-targets@7.24.8': + resolution: {integrity: sha512-oU+UoqCHdp+nWVDkpldqIQL/i/bvAv53tRqLG/s+cOXxe66zOYLU7ar/Xs3LdmBihrUMEUhwu6dMZwbNOYDwvw==} + engines: {node: '>=6.9.0'} + '@babel/helper-create-class-features-plugin@7.22.5': resolution: {integrity: sha512-xkb58MyOYIslxu3gKmVXmjTtUPvBU4odYzbiIQbWwLKIHCsx6UGZGX6F1IznMFVnDdirseUZopzN+ZRt8Xb33Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-create-class-features-plugin@7.24.6': - resolution: {integrity: sha512-djsosdPJVZE6Vsw3kk7IPRWethP94WHGOhQTc67SNXE0ZzMhHgALw8iGmYS0TD1bbMM0VDROy43od7/hN6WYcA==} + '@babel/helper-create-class-features-plugin@7.24.8': + resolution: {integrity: sha512-4f6Oqnmyp2PP3olgUMmOwC3akxSm5aBYraQ6YDdKy7NcAMkDECHWG0DEnV6M2UAkERgIBhYt8S27rURPg7SxWA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -1451,11 +1475,22 @@ packages: peerDependencies: '@babel/core': ^7.0.0 + '@babel/helper-create-regexp-features-plugin@7.24.7': + resolution: {integrity: sha512-03TCmXy2FtXJEZfbXDTSqq1fRJArk7lX9DOFC/47VthYcxyIOx+eXQmdo6DOQvrbpIix+KfXwvuXdFDZHxt+rA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/helper-define-polyfill-provider@0.4.0': resolution: {integrity: sha512-RnanLx5ETe6aybRi1cO/edaRH+bNYWaryCEmjDDYyNr4wnSzyOp8T0dWipmqVHKEY3AbVKUom50AKSlj1zmKbg==} peerDependencies: '@babel/core': ^7.4.0-0 + '@babel/helper-define-polyfill-provider@0.6.2': + resolution: {integrity: sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + '@babel/helper-environment-visitor@7.22.20': resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} engines: {node: '>=6.9.0'} @@ -1496,8 +1531,8 @@ packages: resolution: {integrity: sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==} engines: {node: '>=6.9.0'} - '@babel/helper-member-expression-to-functions@7.24.6': - resolution: {integrity: sha512-OTsCufZTxDUsv2/eDXanw/mUZHWOxSbEmC3pP8cgjcy5rgeVPWWMStnv274DV60JtHxTk0adT0QrCzC4M9NWGg==} + '@babel/helper-member-expression-to-functions@7.24.8': + resolution: {integrity: sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==} engines: {node: '>=6.9.0'} '@babel/helper-module-imports@7.22.15': @@ -1528,12 +1563,18 @@ packages: peerDependencies: '@babel/core': ^7.0.0 + '@babel/helper-module-transforms@7.24.9': + resolution: {integrity: sha512-oYbh+rtFKj/HwBQkFlUzvcybzklmVdVV3UU+mN7n2t/q3yGHbuVdNxyFvSBO1tfvjyArpHNcWMAzsSPdyI46hw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/helper-optimise-call-expression@7.22.5': resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} - '@babel/helper-optimise-call-expression@7.24.6': - resolution: {integrity: sha512-3SFDJRbx7KuPRl8XDUr8O7GAEB8iGyWPjLKJh/ywP/Iy9WOmEfMrsWbaZpvBu2HSYn4KQygIsz0O7m8y10ncMA==} + '@babel/helper-optimise-call-expression@7.24.7': + resolution: {integrity: sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==} engines: {node: '>=6.9.0'} '@babel/helper-plugin-utils@7.24.6': @@ -1544,18 +1585,28 @@ packages: resolution: {integrity: sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==} engines: {node: '>=6.9.0'} + '@babel/helper-plugin-utils@7.24.8': + resolution: {integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==} + engines: {node: '>=6.9.0'} + '@babel/helper-remap-async-to-generator@7.22.5': resolution: {integrity: sha512-cU0Sq1Rf4Z55fgz7haOakIyM7+x/uCFwXpLPaeRzfoUtAEAuUZjZvFPjL/rk5rW693dIgn2hng1W7xbT7lWT4g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 + '@babel/helper-remap-async-to-generator@7.24.7': + resolution: {integrity: sha512-9pKLcTlZ92hNZMQfGCHImUpDOlAgkkpqalWEeftW5FBya75k8Li2ilerxkM/uBEj01iBZXcCIB/bwvDYgWyibA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/helper-replace-supers@7.22.5': resolution: {integrity: sha512-aLdNM5I3kdI/V9xGNyKSF3X/gTyMUBohTZ+/3QdQKAA9vxIiy12E+8E2HoOP1/DjeqU+g6as35QHJNMDDYpuCg==} engines: {node: '>=6.9.0'} - '@babel/helper-replace-supers@7.24.6': - resolution: {integrity: sha512-mRhfPwDqDpba8o1F8ESxsEkJMQkUF8ZIWrAc0FtWhxnjfextxMWxr22RtFizxxSYLjVHDeMgVsRq8BBZR2ikJQ==} + '@babel/helper-replace-supers@7.24.7': + resolution: {integrity: sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -1572,8 +1623,8 @@ packages: resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} engines: {node: '>=6.9.0'} - '@babel/helper-skip-transparent-expression-wrappers@7.24.6': - resolution: {integrity: sha512-jhbbkK3IUKc4T43WadP96a27oYti9gEf1LdyGSP2rHGH77kwLwfhO7TgwnWvxxQVmke0ImmCSS47vcuxEMGD3Q==} + '@babel/helper-skip-transparent-expression-wrappers@7.24.7': + resolution: {integrity: sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==} engines: {node: '>=6.9.0'} '@babel/helper-split-export-declaration@7.22.5': @@ -1600,6 +1651,10 @@ packages: resolution: {integrity: sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==} engines: {node: '>=6.9.0'} + '@babel/helper-string-parser@7.24.8': + resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} + engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@7.24.6': resolution: {integrity: sha512-4yA7s865JHaqUdRbnaxarZREuPTHrjpDT+pXoAZ1yhyo6uFnIEpS8VMu16siFOHDpZNKYv5BObhsB//ycbICyw==} engines: {node: '>=6.9.0'} @@ -1620,10 +1675,18 @@ packages: resolution: {integrity: sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==} engines: {node: '>=6.9.0'} + '@babel/helper-validator-option@7.24.8': + resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==} + engines: {node: '>=6.9.0'} + '@babel/helper-wrap-function@7.22.5': resolution: {integrity: sha512-bYqLIBSEshYcYQyfks8ewYA8S30yaGSeRslcvKMvoUk6HHPySbxHq9YRi6ghhzEU+yhQv9bP/jXnygkStOcqZw==} engines: {node: '>=6.9.0'} + '@babel/helper-wrap-function@7.24.7': + resolution: {integrity: sha512-N9JIYk3TD+1vq/wn77YnJOqMtfWhNewNE+DJV4puD2X7Ew9J4JvrzrFDfTfyv5EgEXVy9/Wt8QiOErzEmv5Ifw==} + engines: {node: '>=6.9.0'} + '@babel/helpers@7.22.5': resolution: {integrity: sha512-pSXRmfE1vzcUIDFQcSGA5Mr+GxBV9oiRKDuDxXvWQQBCh8HoIjs/2DlDB7H8smac1IVrB9/xdXj2N3Wol9Cr+Q==} engines: {node: '>=6.9.0'} @@ -1636,6 +1699,10 @@ packages: resolution: {integrity: sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==} engines: {node: '>=6.9.0'} + '@babel/helpers@7.24.8': + resolution: {integrity: sha512-gV2265Nkcz7weJJfvDoAEVzC1e2OTDpkGbEsebse8koXUJUXPsCMi7sRo/+SPMuMZ9MtUPnGwITTnQnU5YjyaQ==} + engines: {node: '>=6.9.0'} + '@babel/highlight@7.22.5': resolution: {integrity: sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==} engines: {node: '>=6.9.0'} @@ -1667,6 +1734,11 @@ packages: engines: {node: '>=6.0.0'} hasBin: true + '@babel/parser@7.24.8': + resolution: {integrity: sha512-WzfbgXOkGzZiXXCqk43kKwZjzwx4oulxZi3nq2TYL9mOjQv6kYwul9mz6ID36njuL7Xkp6nJEfok848Zj10j/w==} + engines: {node: '>=6.0.0'} + hasBin: true + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.5': resolution: {integrity: sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==} engines: {node: '>=6.9.0'} @@ -1699,8 +1771,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-proposal-export-default-from@7.24.6': - resolution: {integrity: sha512-qPPDbYs9j5IArMFqYi85QxatHURSzRyskKpIbjrVoVglDuGdhu1s7UTCmXvP/qR2aHa3EdJ8X3iZvQAHjmdHUw==} + '@babel/plugin-proposal-export-default-from@7.24.7': + resolution: {integrity: sha512-CcmFwUJ3tKhLjPdt4NP+SHMshebytF8ZTYOv5ZDpkzq2sin80Wb5vJrGt8fhPrORQCfoSa0LAxC/DW+GAC5+Hw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1806,8 +1878,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-export-default-from@7.24.6': - resolution: {integrity: sha512-Nzl7kZ4tjOM2LJpejBMPwZs7OJfc26++2HsMQuSrw6gxpqXGtZZ3Rj4Zt4Qm7vulMZL2gHIGGc2stnlQnHQCqA==} + '@babel/plugin-syntax-export-default-from@7.24.7': + resolution: {integrity: sha512-bTPz4/635WQ9WhwsyPdxUJDVpsi/X9BMmy/8Rf/UAlOO4jSql4CxUCjWI5PiM+jG+c4LVPTScoTw80geFj9+Bw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1829,6 +1901,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-flow@7.24.7': + resolution: {integrity: sha512-9G8GYT/dxn/D1IIKOUBmGX0mnmj46mGH9NnZyJLwtCpgh5f7D2VbuKodb+2s9m1Yavh1s7ASQN8lf0eqrb1LTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-import-assertions@7.22.5': resolution: {integrity: sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==} engines: {node: '>=6.9.0'} @@ -1863,6 +1941,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-jsx@7.24.7': + resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-logical-assignment-operators@7.10.4': resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: @@ -1911,6 +1995,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-typescript@7.24.7': + resolution: {integrity: sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-unicode-sets-regex@7.18.6': resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} engines: {node: '>=6.9.0'} @@ -1923,6 +2013,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-arrow-functions@7.24.7': + resolution: {integrity: sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-async-generator-functions@7.22.5': resolution: {integrity: sha512-gGOEvFzm3fWoyD5uZq7vVTD57pPJ3PczPUD/xCFGjzBpUosnklmXyKnGQbbbGs1NPNPskFex0j93yKbHt0cHyg==} engines: {node: '>=6.9.0'} @@ -1935,6 +2031,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-async-to-generator@7.24.7': + resolution: {integrity: sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-block-scoped-functions@7.22.5': resolution: {integrity: sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==} engines: {node: '>=6.9.0'} @@ -1947,6 +2049,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-block-scoping@7.24.7': + resolution: {integrity: sha512-Nd5CvgMbWc+oWzBsuaMcbwjJWAcp5qzrbg69SZdHSP7AMY0AbWFqFO0WTFCA1jxhMCwodRwvRec8k0QUbZk7RQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-class-properties@7.22.5': resolution: {integrity: sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==} engines: {node: '>=6.9.0'} @@ -1965,18 +2073,36 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-classes@7.24.8': + resolution: {integrity: sha512-VXy91c47uujj758ud9wx+OMgheXm4qJfyhj1P18YvlrQkNOSrwsteHk+EFS3OMGfhMhpZa0A+81eE7G4QC+3CA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-computed-properties@7.22.5': resolution: {integrity: sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-computed-properties@7.24.7': + resolution: {integrity: sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-destructuring@7.22.5': resolution: {integrity: sha512-GfqcFuGW8vnEqTUBM7UtPd5A4q797LTvvwKxXTgRsFjoqaJiEg9deBG6kWeQYkVEL569NpnmpC0Pkr/8BLKGnQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-destructuring@7.24.8': + resolution: {integrity: sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-dotall-regex@7.22.5': resolution: {integrity: sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==} engines: {node: '>=6.9.0'} @@ -2019,6 +2145,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-flow-strip-types@7.24.7': + resolution: {integrity: sha512-cjRKJ7FobOH2eakx7Ja+KpJRj8+y+/SiB3ooYm/n2UJfxu0oEaOoxOinitkJcPqv9KxS0kxTGPUaR7L2XcXDXA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-for-of@7.22.5': resolution: {integrity: sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==} engines: {node: '>=6.9.0'} @@ -2031,6 +2163,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-function-name@7.24.7': + resolution: {integrity: sha512-U9FcnA821YoILngSmYkW6FjyQe2TyZD5pHt4EVIhmcTkrJw/3KqcrRSxuOo5tFZJi7TE19iDyI1u+weTI7bn2w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-json-strings@7.22.5': resolution: {integrity: sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==} engines: {node: '>=6.9.0'} @@ -2043,6 +2181,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-literals@7.24.7': + resolution: {integrity: sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-logical-assignment-operators@7.22.5': resolution: {integrity: sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==} engines: {node: '>=6.9.0'} @@ -2067,6 +2211,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-modules-commonjs@7.24.8': + resolution: {integrity: sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-modules-systemjs@7.22.5': resolution: {integrity: sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==} engines: {node: '>=6.9.0'} @@ -2085,6 +2235,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0 + '@babel/plugin-transform-named-capturing-groups-regex@7.24.7': + resolution: {integrity: sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@babel/plugin-transform-new-target@7.22.5': resolution: {integrity: sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==} engines: {node: '>=6.9.0'} @@ -2133,20 +2289,32 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-parameters@7.24.7': + resolution: {integrity: sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-private-methods@7.22.5': resolution: {integrity: sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-private-methods@7.24.7': + resolution: {integrity: sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-private-property-in-object@7.22.5': resolution: {integrity: sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-private-property-in-object@7.24.6': - resolution: {integrity: sha512-Qu/ypFxCY5NkAnEhCF86Mvg3NSabKsh/TPpBVswEdkGl7+FbsYHy1ziRqJpwGH4thBdQHh8zx+z7vMYmcJ7iaQ==} + '@babel/plugin-transform-private-property-in-object@7.24.7': + resolution: {integrity: sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -2169,6 +2337,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-react-display-name@7.24.7': + resolution: {integrity: sha512-H/Snz9PFxKsS1JLI4dJLtnJgCJRoo0AUm3chP6NYr+9En1JMKloheEiLIhlp5MDVznWo+H3AAC1Mc8lmUEpsgg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-react-jsx-development@7.22.5': resolution: {integrity: sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==} engines: {node: '>=6.9.0'} @@ -2187,6 +2361,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-react-jsx-source@7.24.7': + resolution: {integrity: sha512-J2z+MWzZHVOemyLweMqngXrgGC42jQ//R0KdxqkIz/OrbVIIlhFI3WigZ5fO+nwFvBlncr4MGapd8vTyc7RPNQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-react-jsx@7.22.5': resolution: {integrity: sha512-rog5gZaVbUip5iWDMTYbVM15XQq+RkUKhET/IHR6oizR+JEoN6CAfTTuHcK4vwUyzca30qqHqEpzBOnaRMWYMA==} engines: {node: '>=6.9.0'} @@ -2199,6 +2379,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-react-jsx@7.24.7': + resolution: {integrity: sha512-+Dj06GDZEFRYvclU6k4bme55GKBEWUmByM/eoKuqg4zTNQHiApWRhQph5fxQB2wAEFvRzL1tOEj1RJ19wJrhoA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-react-pure-annotations@7.22.5': resolution: {integrity: sha512-gP4k85wx09q+brArVinTXhWiyzLl9UpmGva0+mWyKxk6JZequ05x3eUcIUE+FyttPKJFRRVtAvQaJ6YF9h1ZpA==} engines: {node: '>=6.9.0'} @@ -2223,24 +2409,48 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-runtime@7.24.7': + resolution: {integrity: sha512-YqXjrk4C+a1kZjewqt+Mmu2UuV1s07y8kqcUf4qYLnoqemhR4gRQikhdAhSVJioMjVTu6Mo6pAbaypEA3jY6fw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-shorthand-properties@7.22.5': resolution: {integrity: sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-shorthand-properties@7.24.7': + resolution: {integrity: sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-spread@7.22.5': resolution: {integrity: sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-spread@7.24.7': + resolution: {integrity: sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-sticky-regex@7.22.5': resolution: {integrity: sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-sticky-regex@7.24.7': + resolution: {integrity: sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-template-literals@7.22.5': resolution: {integrity: sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==} engines: {node: '>=6.9.0'} @@ -2259,6 +2469,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-typescript@7.24.8': + resolution: {integrity: sha512-CgFgtN61BbdOGCP4fLaAMOPkzWUh6yQZNMr5YSt8uz2cZSSiQONCQFWqsE4NeVfOIhqDOlS9CR3WD91FzMeB2Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-unicode-escapes@7.22.5': resolution: {integrity: sha512-biEmVg1IYB/raUO5wT1tgfacCef15Fbzhkx493D3urBI++6hpJ+RFG4SrWMn0NEZLfvilqKf3QDrRVZHo08FYg==} engines: {node: '>=6.9.0'} @@ -2277,6 +2493,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-unicode-regex@7.24.7': + resolution: {integrity: sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-unicode-sets-regex@7.22.5': resolution: {integrity: sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==} engines: {node: '>=6.9.0'} @@ -2293,8 +2515,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/preset-flow@7.24.6': - resolution: {integrity: sha512-huoe0T1Qs9fQhMWbmqE/NHUeZbqmHDsN6n/jYvPcUUHfuKiPV32C9i8tDhMbQ1DEKTjbBP7Rjm3nSLwlB2X05g==} + '@babel/preset-flow@7.24.7': + resolution: {integrity: sha512-NL3Lo0NorCU607zU3NwRyJbpaB6E3t0xtd3LfAQKDfkeX4/ggcDXvkmkW42QWT5owUeW/jAe4hn+2qvkV1IbfQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -2316,6 +2538,12 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/preset-typescript@7.24.7': + resolution: {integrity: sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/register@7.24.6': resolution: {integrity: sha512-WSuFCc2wCqMeXkz/i3yfAAsxwWflEgbVkZzivgAmXl/MxrXeoYFZOOPllbC8R8WTF7u61wSRQtDVZ1879cdu6w==} engines: {node: '>=6.9.0'} @@ -2333,6 +2561,10 @@ packages: resolution: {integrity: sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==} engines: {node: '>=6.9.0'} + '@babel/runtime@7.24.8': + resolution: {integrity: sha512-5F7SDGs1T72ZczbRwbGO9lQi0NLjQxzl6i4lJxLxfW9U5UluCSyEJeniWvnhl3/euNiqQVbo8zruhsDfid0esA==} + engines: {node: '>=6.9.0'} + '@babel/template@7.24.6': resolution: {integrity: sha512-3vgazJlLwNXi9jhrR1ef8qiB65L1RK90+lEQwv4OxveHnqC3BfmnHdgySwRLzf6akhlOYenT+b7AfWq+a//AHw==} engines: {node: '>=6.9.0'} @@ -2353,6 +2585,10 @@ packages: resolution: {integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==} engines: {node: '>=6.9.0'} + '@babel/traverse@7.24.8': + resolution: {integrity: sha512-t0P1xxAPzEDcEPmjprAQq19NWum4K0EQPjMwZQZbHt+GiZqvjCHjj755Weq1YRPVzBI+3zSfvScfpnuIecVFJQ==} + engines: {node: '>=6.9.0'} + '@babel/types@7.24.6': resolution: {integrity: sha512-WaMsgi6Q8zMgMth93GvWPXkhAIEobfsIkLTacoVZoK1J0CevIPGYY2Vo5YvJGqyHqXM6P4ppOYGsIRU8MM9pFQ==} engines: {node: '>=6.9.0'} @@ -2361,6 +2597,10 @@ packages: resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==} engines: {node: '>=6.9.0'} + '@babel/types@7.24.9': + resolution: {integrity: sha512-xm8XrMKz0IlUdocVbYJe0Z9xEgidU7msskG8BbhnTPK/HZ2z/7FP7ykqPgrUH+C+r414mNfNWam1f2vqOjqjYQ==} + engines: {node: '>=6.9.0'} + '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} @@ -3035,11 +3275,6 @@ packages: resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} engines: {node: '>=14'} - '@fuels/connectors@0.2.2': - resolution: {integrity: sha512-TbyJjK3GgyeF6ERZyoh8GfECAVBoI69w4Ee/Osw2Q1zzGIY5/oWwPJxCUzOzd+47eIRWlvtItl1mvkyDyn3aVA==} - peerDependencies: - fuels: '>=0.78.0' - '@fuels/connectors@0.8.1': resolution: {integrity: sha512-y9BUnWdyq7rcBJc3yMp6kAUdJhPOu1D09+/t+c/Ayy+cGuzYiFOfF2H/BMTM37YatlZnpkXmTh1Cf/XHKQfnPw==} peerDependencies: @@ -3478,6 +3713,10 @@ packages: resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} engines: {node: '>=6.0.0'} + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + '@jridgewell/set-array@1.2.1': resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} engines: {node: '>=6.0.0'} @@ -3485,12 +3724,18 @@ packages: '@jridgewell/source-map@0.3.3': resolution: {integrity: sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==} + '@jridgewell/source-map@0.3.6': + resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} + '@jridgewell/sourcemap-codec@1.4.14': resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} '@jridgewell/sourcemap-codec@1.4.15': resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + '@jridgewell/trace-mapping@0.3.18': resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} @@ -3562,8 +3807,8 @@ packages: resolution: {integrity: sha512-FXvL1NQNl6I7fMOJTfQYcBlBZ33vSlm6w80cMpmn8sJh0Lb7wcBpe02UwBsNlARnI+Qsr26XeDs6WHUHQh8CuA==} engines: {node: ^18.18 || >=20} - '@metamask/rpc-errors@6.2.1': - resolution: {integrity: sha512-VTgWkjWLzb0nupkFl1duQi9Mk8TGT9rsdnQg6DeRrYEFxtFOh0IF8nAwxM/4GWqDl6uIB06lqUBgUrAVWl62Bw==} + '@metamask/rpc-errors@6.3.1': + resolution: {integrity: sha512-ugDY7cKjF4/yH5LtBaOIKHw/AiGGSAmzptAUEiAEGr/78LwuzcXAxmzEQfSfMIfI+f9Djr8cttq1pRJJKfTuCg==} engines: {node: '>=16.0.0'} '@metamask/safe-event-emitter@2.0.0': @@ -3609,12 +3854,20 @@ packages: react-dom: optional: true + '@metamask/superstruct@3.1.0': + resolution: {integrity: sha512-N08M56HdOgBfRKkrgCMZvQppkZGcArEop3kixNEtVbJKm6P9Cfg0YkI6X0s1g78sNrj2fWUwvJADdZuzJgFttA==} + engines: {node: '>=16.0.0'} + '@metamask/utils@5.0.2': resolution: {integrity: sha512-yfmE79bRQtnMzarnKfX7AEJBwFTxvTyw3nBQlu/5rmGXrjAeAMltoGxO62TFurxrQAFMNa/fEjIHNvungZp0+g==} engines: {node: '>=14.0.0'} - '@metamask/utils@8.4.0': - resolution: {integrity: sha512-dbIc3C7alOe0agCuBHM1h71UaEaEqOk2W8rAtEn8QGz4haH2Qq7MoK6i7v2guzvkJVVh79c+QCzIqphC3KvrJg==} + '@metamask/utils@8.5.0': + resolution: {integrity: sha512-I6bkduevXb72TIM9q2LRO63JSsF9EXduh3sBr9oybNX2hNNpr/j1tEjXrsG0Uabm4MJ1xkGAQEMwifvKZIkyxQ==} + engines: {node: '>=16.0.0'} + + '@metamask/utils@9.1.0': + resolution: {integrity: sha512-g2REf+xSt0OZfMoNNdC4+/Yy8eP3KUqvIArel54XRFKPoXbHI6+YjFfrLtfykWBjffOp7DTfIc3Kvk5TLfuiyg==} engines: {node: '>=16.0.0'} '@microsoft/tsdoc-config@0.17.0': @@ -4009,8 +4262,8 @@ packages: resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - '@playwright/test@1.45.1': - resolution: {integrity: sha512-Wo1bWTzQvGA7LyKGIZc8nFSTFf2TkthGIFBR+QVNilvwouGzFd4PYukZe3rvf5PSqjHi1+1NyKSDZKcQWETzaA==} + '@playwright/test@1.45.3': + resolution: {integrity: sha512-UKF4XsBfy+u3MFWEH44hva1Q8Da28G6RFtR2+5saw+jgAFQV5yYnB1fu68Mz7fO+5GJF3wgwAIs0UelU8TxFrA==} engines: {node: '>=18'} hasBin: true @@ -4371,83 +4624,83 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.16.4': - resolution: {integrity: sha512-GkhjAaQ8oUTOKE4g4gsZ0u8K/IHU1+2WQSgS1TwTcYvL+sjbaQjNHFXbOJ6kgqGHIO1DfUhI/Sphi9GkRT9K+Q==} + '@rollup/rollup-android-arm-eabi@4.19.0': + resolution: {integrity: sha512-JlPfZ/C7yn5S5p0yKk7uhHTTnFlvTgLetl2VxqE518QgyM7C9bSfFTYvB/Q/ftkq0RIPY4ySxTz+/wKJ/dXC0w==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.16.4': - resolution: {integrity: sha512-Bvm6D+NPbGMQOcxvS1zUl8H7DWlywSXsphAeOnVeiZLQ+0J6Is8T7SrjGTH29KtYkiY9vld8ZnpV3G2EPbom+w==} + '@rollup/rollup-android-arm64@4.19.0': + resolution: {integrity: sha512-RDxUSY8D1tWYfn00DDi5myxKgOk6RvWPxhmWexcICt/MEC6yEMr4HNCu1sXXYLw8iAsg0D44NuU+qNq7zVWCrw==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.16.4': - resolution: {integrity: sha512-i5d64MlnYBO9EkCOGe5vPR/EeDwjnKOGGdd7zKFhU5y8haKhQZTN2DgVtpODDMxUr4t2K90wTUJg7ilgND6bXw==} + '@rollup/rollup-darwin-arm64@4.19.0': + resolution: {integrity: sha512-emvKHL4B15x6nlNTBMtIaC9tLPRpeA5jMvRLXVbl/W9Ie7HhkrE7KQjvgS9uxgatL1HmHWDXk5TTS4IaNJxbAA==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.16.4': - resolution: {integrity: sha512-WZupV1+CdUYehaZqjaFTClJI72fjJEgTXdf4NbW69I9XyvdmztUExBtcI2yIIU6hJtYvtwS6pkTkHJz+k08mAQ==} + '@rollup/rollup-darwin-x64@4.19.0': + resolution: {integrity: sha512-fO28cWA1dC57qCd+D0rfLC4VPbh6EOJXrreBmFLWPGI9dpMlER2YwSPZzSGfq11XgcEpPukPTfEVFtw2q2nYJg==} cpu: [x64] os: [darwin] - '@rollup/rollup-linux-arm-gnueabihf@4.16.4': - resolution: {integrity: sha512-ADm/xt86JUnmAfA9mBqFcRp//RVRt1ohGOYF6yL+IFCYqOBNwy5lbEK05xTsEoJq+/tJzg8ICUtS82WinJRuIw==} + '@rollup/rollup-linux-arm-gnueabihf@4.19.0': + resolution: {integrity: sha512-2Rn36Ubxdv32NUcfm0wB1tgKqkQuft00PtM23VqLuCUR4N5jcNWDoV5iBC9jeGdgS38WK66ElncprqgMUOyomw==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.16.4': - resolution: {integrity: sha512-tJfJaXPiFAG+Jn3cutp7mCs1ePltuAgRqdDZrzb1aeE3TktWWJ+g7xK9SNlaSUFw6IU4QgOxAY4rA+wZUT5Wfg==} + '@rollup/rollup-linux-arm-musleabihf@4.19.0': + resolution: {integrity: sha512-gJuzIVdq/X1ZA2bHeCGCISe0VWqCoNT8BvkQ+BfsixXwTOndhtLUpOg0A1Fcx/+eA6ei6rMBzlOz4JzmiDw7JQ==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.16.4': - resolution: {integrity: sha512-7dy1BzQkgYlUTapDTvK997cgi0Orh5Iu7JlZVBy1MBURk7/HSbHkzRnXZa19ozy+wwD8/SlpJnOOckuNZtJR9w==} + '@rollup/rollup-linux-arm64-gnu@4.19.0': + resolution: {integrity: sha512-0EkX2HYPkSADo9cfeGFoQ7R0/wTKb7q6DdwI4Yn/ULFE1wuRRCHybxpl2goQrx4c/yzK3I8OlgtBu4xvted0ug==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.16.4': - resolution: {integrity: sha512-zsFwdUw5XLD1gQe0aoU2HVceI6NEW7q7m05wA46eUAyrkeNYExObfRFQcvA6zw8lfRc5BHtan3tBpo+kqEOxmg==} + '@rollup/rollup-linux-arm64-musl@4.19.0': + resolution: {integrity: sha512-GlIQRj9px52ISomIOEUq/IojLZqzkvRpdP3cLgIE1wUWaiU5Takwlzpz002q0Nxxr1y2ZgxC2obWxjr13lvxNQ==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.16.4': - resolution: {integrity: sha512-p8C3NnxXooRdNrdv6dBmRTddEapfESEUflpICDNKXpHvTjRRq1J82CbU5G3XfebIZyI3B0s074JHMWD36qOW6w==} + '@rollup/rollup-linux-powerpc64le-gnu@4.19.0': + resolution: {integrity: sha512-N6cFJzssruDLUOKfEKeovCKiHcdwVYOT1Hs6dovDQ61+Y9n3Ek4zXvtghPPelt6U0AH4aDGnDLb83uiJMkWYzQ==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.16.4': - resolution: {integrity: sha512-Lh/8ckoar4s4Id2foY7jNgitTOUQczwMWNYi+Mjt0eQ9LKhr6sK477REqQkmy8YHY3Ca3A2JJVdXnfb3Rrwkng==} + '@rollup/rollup-linux-riscv64-gnu@4.19.0': + resolution: {integrity: sha512-2DnD3mkS2uuam/alF+I7M84koGwvn3ZVD7uG+LEWpyzo/bq8+kKnus2EVCkcvh6PlNB8QPNFOz6fWd5N8o1CYg==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.16.4': - resolution: {integrity: sha512-1xwwn9ZCQYuqGmulGsTZoKrrn0z2fAur2ujE60QgyDpHmBbXbxLaQiEvzJWDrscRq43c8DnuHx3QorhMTZgisQ==} + '@rollup/rollup-linux-s390x-gnu@4.19.0': + resolution: {integrity: sha512-D6pkaF7OpE7lzlTOFCB2m3Ngzu2ykw40Nka9WmKGUOTS3xcIieHe82slQlNq69sVB04ch73thKYIWz/Ian8DUA==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.16.4': - resolution: {integrity: sha512-LuOGGKAJ7dfRtxVnO1i3qWc6N9sh0Em/8aZ3CezixSTM+E9Oq3OvTsvC4sm6wWjzpsIlOCnZjdluINKESflJLA==} + '@rollup/rollup-linux-x64-gnu@4.19.0': + resolution: {integrity: sha512-HBndjQLP8OsdJNSxpNIN0einbDmRFg9+UQeZV1eiYupIRuZsDEoeGU43NQsS34Pp166DtwQOnpcbV/zQxM+rWA==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.16.4': - resolution: {integrity: sha512-ch86i7KkJKkLybDP2AtySFTRi5fM3KXp0PnHocHuJMdZwu7BuyIKi35BE9guMlmTpwwBTB3ljHj9IQXnTCD0vA==} + '@rollup/rollup-linux-x64-musl@4.19.0': + resolution: {integrity: sha512-HxfbvfCKJe/RMYJJn0a12eiOI9OOtAUF4G6ozrFUK95BNyoJaSiBjIOHjZskTUffUrB84IPKkFG9H9nEvJGW6A==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.16.4': - resolution: {integrity: sha512-Ma4PwyLfOWZWayfEsNQzTDBVW8PZ6TUUN1uFTBQbF2Chv/+sjenE86lpiEwj2FiviSmSZ4Ap4MaAfl1ciF4aSA==} + '@rollup/rollup-win32-arm64-msvc@4.19.0': + resolution: {integrity: sha512-HxDMKIhmcguGTiP5TsLNolwBUK3nGGUEoV/BO9ldUBoMLBssvh4J0X8pf11i1fTV7WShWItB1bKAKjX4RQeYmg==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.16.4': - resolution: {integrity: sha512-9m/ZDrQsdo/c06uOlP3W9G2ENRVzgzbSXmXHT4hwVaDQhYcRpi9bgBT0FTG9OhESxwK0WjQxYOSfv40cU+T69w==} + '@rollup/rollup-win32-ia32-msvc@4.19.0': + resolution: {integrity: sha512-xItlIAZZaiG/u0wooGzRsx11rokP4qyc/79LkAOdznGRAbOFc+SfEdfUOszG1odsHNgwippUJavag/+W/Etc6Q==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.16.4': - resolution: {integrity: sha512-YunpoOAyGLDseanENHmbFvQSfVL5BxW3k7hhy0eN4rb3gS/ct75dVD0EXOWIqFT/nE8XYW6LP6vz6ctKRi0k9A==} + '@rollup/rollup-win32-x64-msvc@4.19.0': + resolution: {integrity: sha512-xNo5fV5ycvCCKqiZcpB65VMR11NJB+StnxHz20jdqRAktfdfzhgjTiJ2doTDQE/7dqGaV5I7ZGqKpgph6lCIag==} cpu: [x64] os: [win32] @@ -4463,25 +4716,34 @@ packages: '@safe-global/safe-apps-sdk@8.1.0': resolution: {integrity: sha512-XJbEPuaVc7b9n23MqlF6c+ToYIS3f7P2Sel8f3cSBQ9WORE4xrSuvhMpK9fDSFqJ7by/brc+rmJR/5HViRr0/w==} - '@safe-global/safe-gateway-typescript-sdk@3.21.1': - resolution: {integrity: sha512-7nakIjcRSs6781LkizYpIfXh1DYlkUDqyALciqz/BjFU/S97sVjZdL4cuKsG9NEarytE+f6p0Qbq2Bo1aocVUA==} + '@safe-global/safe-gateway-typescript-sdk@3.22.0': + resolution: {integrity: sha512-QKgucFMloZ7S23X70U6OmFaRxfX2O52xBAZFIDeW9n+uiANG+JYUiJv6UC0/eVNto+CU/dOVnpqRDhr6/ElKDg==} engines: {node: '>=16'} '@scure/base@1.1.6': resolution: {integrity: sha512-ok9AWwhcgYuGG3Zfhyqg+zwl+Wn5uE+dwC0NV/2qQkx4dABbb/bx96vWu8NSj+BNjjSjno+JRYRjle1jV08k3g==} + '@scure/base@1.1.7': + resolution: {integrity: sha512-PPNYBslrLNNUQ/Yad37MHYsNQtK67EhWb6WtSvNLLPo7SdVZgkUjD6Dg+5On7zNwmskf8OX7I7Nx5oN+MIWE0g==} + '@scure/bip32@1.3.2': resolution: {integrity: sha512-N1ZhksgwD3OBlwTv3R6KFEcPojl/W4ElJOeCZdi+vuI5QmTFwLq3OFf2zd2ROpKvxFdgZ6hUpb0dx9bVNEwYCA==} '@scure/bip32@1.3.3': resolution: {integrity: sha512-LJaN3HwRbfQK0X1xFSi0Q9amqOgzQnnDngIt+ZlsBC3Bm7/nE7K0kwshZHyaru79yIVRv/e1mQAjZyuZG6jOFQ==} + '@scure/bip32@1.4.0': + resolution: {integrity: sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==} + '@scure/bip39@1.2.1': resolution: {integrity: sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==} '@scure/bip39@1.2.2': resolution: {integrity: sha512-HYf9TUXG80beW+hGAt3TRM8wU6pQoYur9iNypTROm42dorCGmLnFe3eWjz3gOq6G62H2WRh0FCzAR1PI+29zIA==} + '@scure/bip39@1.3.0': + resolution: {integrity: sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==} + '@shikijs/core@1.10.3': resolution: {integrity: sha512-D45PMaBaeDHxww+EkcDQtDAtzv00Gcsp72ukBtaLSmqRvh0WgGMq3Al0rl1QQBZfuneO75NXMIzEZGFitThWbg==} @@ -4650,11 +4912,11 @@ packages: resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} engines: {node: '>=14.16'} - '@tanstack/query-core@5.51.1': - resolution: {integrity: sha512-fJBMQMpo8/KSsWW5ratJR5+IFr7YNJ3K2kfP9l5XObYHsgfVy1w3FJUWU4FT2fj7+JMaEg33zOcNDBo0LMwHnw==} + '@tanstack/query-core@5.51.9': + resolution: {integrity: sha512-HsAwaY5J19MD18ykZDS3aVVh+bAt0i7m6uQlFC2b77DLV9djo+xEN7MWQAQQTR8IM+7r/zbozTQ7P0xr0bHuew==} - '@tanstack/react-query@5.51.1': - resolution: {integrity: sha512-s47HKFnQ4HOJAHoIiXcpna/roMMPZJPy6fJ6p4ZNVn8+/onlLBEDd1+xc8OnDuwgvecqkZD7Z2mnSRbcWefrKw==} + '@tanstack/react-query@5.51.11': + resolution: {integrity: sha512-4Kq2x0XpDlpvSnaLG+8pHNH60zEc3mBvb3B2tOMDjcPCi/o+Du3p/9qpPLwJOTliVxxPJAP27fuIhLrsRdCr7A==} peerDependencies: react: ^18.0.0 @@ -4736,8 +4998,8 @@ packages: resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} engines: {node: '>=10.13.0'} - '@tsconfig/node10@1.0.9': - resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} + '@tsconfig/node10@1.0.11': + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} '@tsconfig/node12@1.0.11': resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} @@ -4748,8 +5010,8 @@ packages: '@tsconfig/node16@1.0.4': resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} - '@types/aria-query@5.0.1': - resolution: {integrity: sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==} + '@types/aria-query@5.0.4': + resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} '@types/babel__core@7.20.1': resolution: {integrity: sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==} @@ -4838,12 +5100,21 @@ packages: '@types/istanbul-lib-coverage@2.0.4': resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + '@types/istanbul-lib-report@3.0.0': resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + '@types/istanbul-reports@3.0.1': resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + '@types/jest@29.5.12': resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} @@ -4907,21 +5178,18 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@16.18.34': - resolution: {integrity: sha512-VmVm7gXwhkUimRfBwVI1CHhwp86jDWR04B5FGebMMyxV90SlCmFujwUHrxTD4oO+SOYU86SoxvhgeRQJY7iXFg==} - '@types/node@18.15.13': resolution: {integrity: sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==} - '@types/node@18.15.3': - resolution: {integrity: sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw==} - '@types/node@20.10.5': resolution: {integrity: sha512-nNPsNE65wjMxEKI93yOP+NPGGBJz/PoN3kZsVLee0XMiJolxSekEVD8wRwBUBqkwc7UWop0edW50yrCQW4CyRw==} '@types/node@20.11.13': resolution: {integrity: sha512-5G4zQwdiQBSWYTDAH1ctw2eidqdhMJaNsiIDKHFr55ihz5Trl2qqR8fdrT732yPBho5gkNxXm67OxWFBqX9aPg==} + '@types/node@20.14.11': + resolution: {integrity: sha512-kprQpL8MMeszbz6ojB5/tU8PLN4kesnN8Gjzw349rDlNgsSzg90lAVj3llK99Dh7JON+t9AuscPPFW6mPbTnSA==} + '@types/parse-json@4.0.0': resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} @@ -4991,9 +5259,15 @@ packages: '@types/stack-utils@2.0.1': resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} + '@types/stack-utils@2.0.3': + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + '@types/trusted-types@2.0.3': resolution: {integrity: sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==} + '@types/trusted-types@2.0.7': + resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} + '@types/unist@2.0.6': resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} @@ -5015,6 +5289,9 @@ packages: '@types/yargs-parser@21.0.0': resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + '@types/yargs@15.0.19': resolution: {integrity: sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==} @@ -5024,6 +5301,9 @@ packages: '@types/yargs@17.0.24': resolution: {integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==} + '@types/yargs@17.0.32': + resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} + '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} @@ -5227,17 +5507,17 @@ packages: '@vitest/utils@1.6.0': resolution: {integrity: sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==} - '@vue/compiler-core@3.4.31': - resolution: {integrity: sha512-skOiodXWTV3DxfDhB4rOf3OGalpITLlgCeOwb+Y9GJpfQ8ErigdBUHomBzvG78JoVE8MJoQsb+qhZiHfKeNeEg==} + '@vue/compiler-core@3.4.33': + resolution: {integrity: sha512-MoIREbkdPQlnGfSKDMgzTqzqx5nmEjIc0ydLVYlTACGBsfvOJ4tHSbZXKVF536n6fB+0eZaGEOqsGThPpdvF5A==} - '@vue/compiler-dom@3.4.31': - resolution: {integrity: sha512-wK424WMXsG1IGMyDGyLqB+TbmEBFM78hIsOJ9QwUVLGrcSk0ak6zYty7Pj8ftm7nEtdU/DGQxAXp0/lM/2cEpQ==} + '@vue/compiler-dom@3.4.33': + resolution: {integrity: sha512-GzB8fxEHKw0gGet5BKlpfXEqoBnzSVWwMnT+dc25wE7pFEfrU/QsvjZMP9rD4iVXHBBoemTct8mN0GJEI6ZX5A==} - '@vue/compiler-sfc@3.4.31': - resolution: {integrity: sha512-einJxqEw8IIJxzmnxmJBuK2usI+lJonl53foq+9etB2HAzlPjAS/wa7r0uUpXw5ByX3/0uswVSrjNb17vJm1kQ==} + '@vue/compiler-sfc@3.4.33': + resolution: {integrity: sha512-7rk7Vbkn21xMwIUpHQR4hCVejwE6nvhBOiDgoBcR03qvGqRKA7dCBSsHZhwhYUsmjlbJ7OtD5UFIyhP6BY+c8A==} - '@vue/compiler-ssr@3.4.31': - resolution: {integrity: sha512-RtefmITAje3fJ8FSg1gwgDhdKhZVntIVbwupdyZDSifZTRMiWxWehAOTCc8/KZDnBOcYQ4/9VWxsTbd3wT0hAA==} + '@vue/compiler-ssr@3.4.33': + resolution: {integrity: sha512-0WveC9Ai+eT/1b6LCV5IfsufBZ0HP7pSSTdDjcuW302tTEgoBw8rHVHKPbGUtzGReUFCRXbv6zQDDgucnV2WzQ==} '@vue/devtools-api@6.6.3': resolution: {integrity: sha512-0MiMsFma/HqA6g3KLKn+AGpL1kgKhFWszC9U29NfpWK5LE7bjeXxySWJrOJ77hBz+TBrBQ7o4QJqbPbqbs8rJw==} @@ -5251,23 +5531,26 @@ packages: '@vue/devtools-shared@7.3.6': resolution: {integrity: sha512-R/FOmdJV+hhuwcNoxp6e87RRkEeDMVhWH+nOsnHUrwjjsyeXJ2W1475Ozmw+cbZhejWQzftkHVKO28Fuo1yqCw==} - '@vue/reactivity@3.4.31': - resolution: {integrity: sha512-VGkTani8SOoVkZNds1PfJ/T1SlAIOf8E58PGAhIOUDYPC4GAmFA2u/E14TDAFcf3vVDKunc4QqCe/SHr8xC65Q==} + '@vue/reactivity@3.4.33': + resolution: {integrity: sha512-B24QIelahDbyHipBgbUItQblbd4w5HpG3KccL+YkGyo3maXyS253FzcTR3pSz739OTphmzlxP7JxEMWBpewilA==} - '@vue/runtime-core@3.4.31': - resolution: {integrity: sha512-LDkztxeUPazxG/p8c5JDDKPfkCDBkkiNLVNf7XZIUnJ+66GVGkP+TIh34+8LtPisZ+HMWl2zqhIw0xN5MwU1cw==} + '@vue/runtime-core@3.4.33': + resolution: {integrity: sha512-6wavthExzT4iAxpe8q37/rDmf44nyOJGISJPxCi9YsQO+8w9v0gLCFLfH5TzD1V1AYrTAdiF4Y1cgUmP68jP6w==} - '@vue/runtime-dom@3.4.31': - resolution: {integrity: sha512-2Auws3mB7+lHhTFCg8E9ZWopA6Q6L455EcU7bzcQ4x6Dn4cCPuqj6S2oBZgN2a8vJRS/LSYYxwFFq2Hlx3Fsaw==} + '@vue/runtime-dom@3.4.33': + resolution: {integrity: sha512-iHsMCUSFJ+4z432Bn9kZzHX+zOXa6+iw36DaVRmKYZpPt9jW9riF32SxNwB124i61kp9+AZtheQ/mKoJLerAaQ==} - '@vue/server-renderer@3.4.31': - resolution: {integrity: sha512-D5BLbdvrlR9PE3by9GaUp1gQXlCNadIZytMIb8H2h3FMWJd4oUfkUTEH2wAr3qxoRz25uxbTcbqd3WKlm9EHQA==} + '@vue/server-renderer@3.4.33': + resolution: {integrity: sha512-jTH0d6gQcaYideFP/k0WdEu8PpRS9MF8d0b6SfZzNi+ap972pZ0TNIeTaESwdOtdY0XPVj54XEJ6K0wXxir4fw==} peerDependencies: - vue: 3.4.31 + vue: 3.4.33 '@vue/shared@3.4.31': resolution: {integrity: sha512-Yp3wtJk//8cO4NItOPpi3QkLExAr/aLBGZMmTtW9WpdwBCJpRM6zj9WgWktXAl8IDIozwNMByT45JP3tO3ACWA==} + '@vue/shared@3.4.33': + resolution: {integrity: sha512-aoRY0jQk3A/cuvdkodTrM4NMfxco8n55eG4H7ML/CRy7OryHfiqvug4xrCBBMbbN+dvXAetDDwZW9DXWWjBntA==} + '@vueuse/core@10.11.0': resolution: {integrity: sha512-x3sD4Mkm7PJ+pcq3HX8PLPBadXCAlSDR/waK87dz0gQE+qJnaaFhc/dZVfJz+IUYzTMVGum2QlR7ImiJQN4s6g==} @@ -5640,6 +5923,10 @@ packages: resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} engines: {node: '>=0.4.0'} + acorn-walk@8.3.3: + resolution: {integrity: sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==} + engines: {node: '>=0.4.0'} + acorn@7.4.1: resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} engines: {node: '>=0.4.0'} @@ -5650,6 +5937,11 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + acorn@8.12.1: + resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} + engines: {node: '>=0.4.0'} + hasBin: true + acorn@8.9.0: resolution: {integrity: sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==} engines: {node: '>=0.4.0'} @@ -5820,10 +6112,6 @@ packages: array-flatten@2.1.2: resolution: {integrity: sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==} - array-includes@3.1.6: - resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==} - engines: {node: '>= 0.4'} - array-includes@3.1.7: resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} engines: {node: '>= 0.4'} @@ -5852,10 +6140,6 @@ packages: resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} engines: {node: '>= 0.4'} - array.prototype.flatmap@1.3.1: - resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==} - engines: {node: '>= 0.4'} - array.prototype.flatmap@1.3.2: resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} engines: {node: '>= 0.4'} @@ -5864,9 +6148,6 @@ packages: resolution: {integrity: sha512-kDdugMl7id9COE8R7MHF5jWk7Dqt/fs4Pv+JXoICnYwqpjjjbUurz6w5fT5IG6brLdJhv6/VoHB0H7oyIBXd+Q==} engines: {node: '>= 0.4'} - array.prototype.toreversed@1.1.2: - resolution: {integrity: sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==} - array.prototype.tosorted@1.1.4: resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==} engines: {node: '>= 0.4'} @@ -6011,11 +6292,21 @@ packages: peerDependencies: '@babel/core': ^7.1.0 + babel-plugin-polyfill-corejs2@0.4.11: + resolution: {integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + babel-plugin-polyfill-corejs2@0.4.3: resolution: {integrity: sha512-bM3gHc337Dta490gg+/AseNB9L4YLHxq1nGKZZSHbhXv4aTYU2MD2cjza1Ru4S6975YLTaL1K8uJf6ukJhhmtw==} peerDependencies: '@babel/core': ^7.0.0-0 + babel-plugin-polyfill-corejs3@0.10.4: + resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + babel-plugin-polyfill-corejs3@0.8.1: resolution: {integrity: sha512-ikFrZITKg1xH6pLND8zT14UPgjKHiGLqex7rGEZCH2EvhsneJaJPemmpQaIZV5AL03II+lXylw3UmddDK8RU5Q==} peerDependencies: @@ -6026,6 +6317,11 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + babel-plugin-polyfill-regenerator@0.6.2: + resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + babel-plugin-syntax-trailing-function-commas@7.0.0-beta.0: resolution: {integrity: sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==} @@ -6145,6 +6441,10 @@ packages: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} engines: {node: '>=8'} + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + brorand@1.1.0: resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} @@ -6188,6 +6488,11 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true + browserslist@4.23.2: + resolution: {integrity: sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + bser@2.1.1: resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} @@ -6231,6 +6536,7 @@ packages: bun@1.1.20: resolution: {integrity: sha512-aqLmvaz0/vLUiCrOXtAsf7pCSOS/qXieYDsq8COa3+fIgMK05CjZt9m9r7DC+tjKy7hH8uKSNTapQOr/kX8gIA==} + cpu: [arm64, x64] os: [darwin, linux, win32] hasBin: true @@ -6321,6 +6627,9 @@ packages: caniuse-lite@1.0.30001640: resolution: {integrity: sha512-lA4VMpW0PSUrFnkmVuEKBUovSWKhj7puyCg8StBChgu298N1AtuF1sKWEvfDuimSEDbhlb/KqPKC3fs1HbuQUA==} + caniuse-lite@1.0.30001643: + resolution: {integrity: sha512-ERgWGNleEilSrHM6iUz/zJNSQTP8Mr21wDWpdgvRwcTXGAq6jMtOUPP4dqFPTdKqZ2wKTdtB+uucZ3MRpAUSmg==} + capital-case@1.0.4: resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} @@ -6421,6 +6730,10 @@ packages: resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} engines: {node: '>=8'} + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + cipher-base@1.0.4: resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==} @@ -6550,8 +6863,8 @@ packages: resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} engines: {node: '>= 12'} - commander@9.4.1: - resolution: {integrity: sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==} + commander@9.5.0: + resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} engines: {node: ^12.20.0 || >=14} comment-parser@1.4.0: @@ -6627,8 +6940,8 @@ packages: convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - cookie-es@1.1.0: - resolution: {integrity: sha512-L2rLOcK0wzWSfSDA33YR+PUHDG10a8px7rUHKWbGLP4YfbsMed2KFUw5fczvDPbT98DDe3LEzviswl810apTEw==} + cookie-es@1.2.1: + resolution: {integrity: sha512-ilTPDuxhZX44BSzzRB58gvSY2UevZKQM9fjisn7Z+NJ92CtSU6kO1+22ZN/agbEJANFjK85EiJJbi/gQv18OXA==} cookie-signature@1.0.6: resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} @@ -6647,6 +6960,9 @@ packages: core-js-compat@3.31.0: resolution: {integrity: sha512-hM7YCu1cU6Opx7MXNu0NuumM0ezNeAeRKadixyiQELWY3vT3De9S4J5ZBMraWV2vZnrE1Cirl0GtFtDtMUXzPw==} + core-js-compat@3.37.1: + resolution: {integrity: sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==} + core-js-pure@3.31.0: resolution: {integrity: sha512-/AnE9Y4OsJZicCzIe97JP5XoPKQJfTuEG43aEVLFJGOJpyqELod+pE6LEl63DfG1Mp8wX97LDaDpy1GmLEUxlg==} @@ -6913,8 +7229,8 @@ packages: dayjs@1.11.10: resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} - dayjs@1.11.11: - resolution: {integrity: sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg==} + dayjs@1.11.12: + resolution: {integrity: sha512-Rt2g+nTbLlDWZTwwrIXjy9MeiZmSDI375FvZs72ngxx8PDC6YXOeR3q5LAuPzjZQxhiWdRKac7RKV+YyQYfYIg==} debounce@1.2.1: resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} @@ -7008,10 +7324,6 @@ packages: resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} engines: {node: '>=10'} - define-data-property@1.1.1: - resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} - engines: {node: '>= 0.4'} - define-data-property@1.1.4: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} @@ -7217,8 +7529,8 @@ packages: easy-table@1.2.0: resolution: {integrity: sha512-OFzVOv03YpvtcWGe5AayU5G2hgybsg3iqA6drU8UaoZyB9jLGMTrz9+asnLp/E+6qPh88yEI1gvyZFZ41dmgww==} - eciesjs@0.3.18: - resolution: {integrity: sha512-RQhegEtLSyIiGJmFTZfvCTHER/fymipXFVx6OwSRYD6hOuy+6Kjpk0dGvIfP9kxn/smBpxQy71uxpGO406ITCw==} + eciesjs@0.3.19: + resolution: {integrity: sha512-b+PkRDZ3ym7HEcnbxc22CMVCpgsnr8+gGgST3U5PtgeX1luvINgfXW7efOyUtmn/jFtA/lg5ywBi/Uazf4oeaA==} edge-paths@3.0.5: resolution: {integrity: sha512-sB7vSrDnFa4ezWQk9nZ/n0FdpdUuC6R1EOrlU3DL+bovcNFK28rqu2emmAUjujYEJTWIgQGqgVVWUZXMnc8iWg==} @@ -7245,9 +7557,15 @@ packages: electron-to-chromium@1.4.747: resolution: {integrity: sha512-+FnSWZIAvFHbsNVmUxhEqWiaOiPMcfum1GQzlWCg/wLigVtshOsjXHyEFfmt6cFK6+HkS3QOJBv6/3OPumbBfw==} + electron-to-chromium@1.5.0: + resolution: {integrity: sha512-Vb3xHHYnLseK8vlMJQKJYXJ++t4u1/qJ3vykuVrVjvdiOEhYyT1AuP4x03G8EnPmYvYOhe9T+dADTmthjRQMkA==} + elliptic@6.5.4: resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} + elliptic@6.5.6: + resolution: {integrity: sha512-mpzdtpeCLuS3BmE3pO3Cpp5bbjlOPY2Q0PgoF+Od1XZrHLYI28Xe3ossCmYCQt11FQKEYd9+PF8jymTvtWJSHQ==} + emittery@0.10.2: resolution: {integrity: sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==} engines: {node: '>=12'} @@ -7279,10 +7597,17 @@ packages: engine.io-client@6.5.3: resolution: {integrity: sha512-9Z0qLB0NIisTRt1DZ/8U2k12RJn8yls/nXMZLn+/N8hANT3TcYjKFKcwbw5zFQiN4NTde3TSY9zb79e1ij6j9Q==} + engine.io-client@6.5.4: + resolution: {integrity: sha512-GeZeeRjpD2qf49cZQ0Wvh/8NJNfeXkXXcoGh+F77oEAgo9gUHwT1fCRxSNU+YEEaysOJTnsFHmM5oAcPy4ntvQ==} + engine.io-parser@5.2.2: resolution: {integrity: sha512-RcyUFKA93/CXH20l4SoVvzZfrSDMOTUS3bWVpTt2FuFP+XYrL8i8oonHP7WInRyVHXh0n/ORtoeiE1os+8qkSw==} engines: {node: '>=10.0.0'} + engine.io-parser@5.2.3: + resolution: {integrity: sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==} + engines: {node: '>=10.0.0'} + enhanced-resolve@5.15.0: resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==} engines: {node: '>=10.13.0'} @@ -7354,10 +7679,6 @@ packages: resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} engines: {node: '>= 0.4'} - es-set-tostringtag@2.0.1: - resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} - engines: {node: '>= 0.4'} - es-set-tostringtag@2.0.3: resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} engines: {node: '>= 0.4'} @@ -7394,6 +7715,10 @@ packages: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} + escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + engines: {node: '>=6'} + escape-html@1.0.3: resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} @@ -7550,8 +7875,8 @@ packages: peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - eslint-plugin-prettier@5.1.3: - resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==} + eslint-plugin-prettier@5.2.1: + resolution: {integrity: sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: '@types/eslint': '>=8.0.0' @@ -7576,22 +7901,16 @@ packages: peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - eslint-plugin-react-refresh@0.4.8: - resolution: {integrity: sha512-MIKAclwaDFIiYtVBLzDdm16E+Ty4GwhB6wZlCAG1R3Ur+F9Qbo6PRxpA5DK7XtDgm+WlCoAY2WxAwqhmIDHg6Q==} + eslint-plugin-react-refresh@0.4.9: + resolution: {integrity: sha512-QK49YrBAo5CLNLseZ7sZgvgTy21E6NEw22eZqc4teZfH8pxV3yXc9XXOYfUI6JNpw7mfHNkAeWtBxrTyykB6HA==} peerDependencies: eslint: '>=7' - eslint-plugin-react@7.31.10: - resolution: {integrity: sha512-e4N/nc6AAlg4UKW/mXeYWd3R++qUano5/o+t+wnWxIf+bLsOaH3a4q74kX3nDjYym3VBN4HyO9nEn1GcAqgQOA==} - engines: {node: '>=4'} - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - - eslint-plugin-react@7.34.4: - resolution: {integrity: sha512-Np+jo9bUwJNxCsT12pXtrGhJgT3T44T1sHhn1Ssr42XFn8TES0267wPGo5nNrMHi8qkyimDAX2BUmkf9pSaVzA==} + eslint-plugin-react@7.35.0: + resolution: {integrity: sha512-v501SSMOWv8gerHkk+IIQBkcGRGrO2nfybfj5pLxuJNFTPxxA3PSryhXTK+9pNbtkggheDdsC0E9Q8CuPk6JKA==} engines: {node: '>=4'} peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 eslint-plugin-testing-library@5.11.0: resolution: {integrity: sha512-ELY7Gefo+61OfXKlQeXNIDVVLPcvKTeiQOoMZG9TeuWa7Ln4dUNRv8JdRWBQI9Mbb427XGlVB1aa1QPZxBJM8Q==} @@ -7694,6 +8013,9 @@ packages: ethereum-cryptography@2.1.3: resolution: {integrity: sha512-BlwbIL7/P45W8FGW2r7LGuvoEZ+7PWsniMvQ4p5s2xCyw9tmaDlpfsN9HjAucbF+t/qpVHwZUisgfK24TCW8aA==} + ethereum-cryptography@2.2.1: + resolution: {integrity: sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==} + ethers@6.13.1: resolution: {integrity: sha512-hdJ2HOxg/xx97Lm9HdCWk949BfYqYWpyw4//78SiwOLgASyfrNszfMUNB2joKjvGUdwhHfaiMMFFwacVVoLR9A==} engines: {node: '>=14.0.0'} @@ -7801,9 +8123,6 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - fast-loops@1.1.3: - resolution: {integrity: sha512-8EZzEP0eKkEEVX+drtd9mtuQ+/QrlfW/5MlwcwK5Nds6EkZ/tRzEexkzUY2mIssnAyVLT+TKHuRXmFNNXYUd6g==} - fast-querystring@1.1.2: resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} @@ -7827,8 +8146,8 @@ packages: fastest-stable-stringify@2.0.2: resolution: {integrity: sha512-bijHueCGd0LqqNK9b5oCMHc0MluJAx0cwqASgbWMvkO01lCYgIhacVRLcaDz3QnyYIRNJRDwMb41VuT6pHJ91Q==} - fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} fault@1.0.4: resolution: {integrity: sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==} @@ -7882,6 +8201,10 @@ packages: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + filter-obj@1.1.0: resolution: {integrity: sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==} engines: {node: '>=0.10.0'} @@ -7941,8 +8264,8 @@ packages: flow-enums-runtime@0.0.6: resolution: {integrity: sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==} - flow-parser@0.237.2: - resolution: {integrity: sha512-mvI/kdfr3l1waaPbThPA8dJa77nHXrfZIun+SWvFwSwDjmeByU7mGJGRmv1+7guU6ccyLV8e1lqZA1lD4iMGnQ==} + flow-parser@0.241.0: + resolution: {integrity: sha512-82yKXpz7iWknWFsognZUf5a6mBQLnVrYoYSU9Nbu7FTOpKlu3v9ehpiI9mYXuaIO3J0ojX1b83M/InXvld9HUw==} engines: {node: '>=0.4.0'} focus-trap@7.5.4: @@ -8053,9 +8376,6 @@ packages: engines: {node: '>=0.6'} deprecated: This package is no longer supported. - function-bind@1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} - function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} @@ -8201,8 +8521,8 @@ packages: resolution: {integrity: sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==} engines: {node: '>=8'} - globalthis@1.0.3: - resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} engines: {node: '>= 0.4'} globby@11.1.0: @@ -8274,8 +8594,8 @@ packages: resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} engines: {node: '>=10'} - h3@1.11.1: - resolution: {integrity: sha512-AbaH6IDnZN6nmbnJOH72y3c5Wwh9P97soSVdGSBbcDACRdkC0FEWf25pzx4f/NuOCK6quHmW18yF2Wx+G4Zi1A==} + h3@1.12.0: + resolution: {integrity: sha512-Zi/CcNeWBXDrFNlV0hUBJQR9F7a96RjMeAZweW/ZWkR9fuXrMcvKnSA63f/zZ9l0GgQOZDVHGvXivNN9PWOwhA==} handle-thing@2.0.1: resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} @@ -8304,16 +8624,9 @@ packages: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - has-property-descriptors@1.0.0: - resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} - has-property-descriptors@1.0.2: resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - has-proto@1.0.1: - resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} - engines: {node: '>= 0.4'} - has-proto@1.0.3: resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} engines: {node: '>= 0.4'} @@ -8322,10 +8635,6 @@ packages: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} - has-tostringtag@1.0.0: - resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} - engines: {node: '>= 0.4'} - has-tostringtag@1.0.2: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} @@ -8541,6 +8850,10 @@ packages: resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==} engines: {node: '>= 4'} + ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} + image-size@1.1.1: resolution: {integrity: sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==} engines: {node: '>=16.x'} @@ -8597,17 +8910,13 @@ packages: ini@1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - inline-style-prefixer@7.0.0: - resolution: {integrity: sha512-I7GEdScunP1dQ6IM2mQWh6v0mOYdYmH3Bp31UecKdrcUgcURTcctSe1IECdUznSHKSmsHtjrT3CwCPI1pyxfUQ==} + inline-style-prefixer@7.0.1: + resolution: {integrity: sha512-lhYo5qNTQp3EvSSp3sRvXMbVQTLrvGV6DycRMJ5dm2BLMiJ30wpXKdDdgX+GmJZ5uQMucwRKHamXSst3Sj/Giw==} inquirer@8.2.5: resolution: {integrity: sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==} engines: {node: '>=12.0.0'} - internal-slot@1.0.5: - resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} - engines: {node: '>= 0.4'} - internal-slot@1.0.7: resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} engines: {node: '>= 0.4'} @@ -8689,6 +8998,10 @@ packages: is-core-module@2.13.1: resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + is-core-module@2.15.0: + resolution: {integrity: sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==} + engines: {node: '>= 0.4'} + is-data-view@1.0.1: resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} engines: {node: '>= 0.4'} @@ -8762,6 +9075,10 @@ packages: is-map@2.0.2: resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} + is-map@2.0.3: + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} + is-module@1.0.0: resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} @@ -8831,6 +9148,10 @@ packages: is-set@2.0.2: resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} + is-set@2.0.3: + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} + is-shared-array-buffer@1.0.3: resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} engines: {node: '>= 0.4'} @@ -8887,12 +9208,20 @@ packages: is-weakmap@2.0.1: resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} + is-weakmap@2.0.2: + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} + is-weakref@1.0.2: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} is-weakset@2.0.2: resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} + is-weakset@2.0.3: + resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} + engines: {node: '>= 0.4'} + is-what@4.1.16: resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} engines: {node: '>=12.13'} @@ -9237,8 +9566,8 @@ packages: jju@1.4.0: resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} - joi@17.13.1: - resolution: {integrity: sha512-vaBlIKCyo4FCUtCm7Eu4QZd/q02bWcxfUO6YSXAZOWF6gzcLBeba8kwotUdYJjDLW8Cz8RywsSOqiNJZW0mNvg==} + joi@17.13.3: + resolution: {integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==} jose@5.4.1: resolution: {integrity: sha512-U6QajmpV/nhL9SyfAewo000fkiRQ+Yd2H0lBxJJ9apjpOgkOcBQJWOrMo917lxLptdS/n/o/xPzMkXhF46K8hQ==} @@ -9352,10 +9681,6 @@ packages: resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} engines: {node: '>=0.10.0'} - jsx-ast-utils@3.3.3: - resolution: {integrity: sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==} - engines: {node: '>=4.0'} - jsx-ast-utils@3.3.5: resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} engines: {node: '>=4.0'} @@ -9385,8 +9710,8 @@ packages: resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} engines: {node: '>= 8'} - knip@5.26.0: - resolution: {integrity: sha512-vOp+Wk86aqlPwElrUpxXyg6Q8w+j0j6wuzyu5p6k/mBWUI8iP91PCAz1Jzz9PGq5JYdptV7rFBYB9vHr7AFgqg==} + knip@5.27.0: + resolution: {integrity: sha512-W8+jhO7i5pXRUqOzhJGm2DT5/d9aQjyrYTCSojqJxFOvi7ku/nHKzpBO3WNf4eflJo0t3zitmUkM69g53qoZQw==} engines: {node: '>=18.6.0'} hasBin: true peerDependencies: @@ -9615,6 +9940,9 @@ packages: resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} engines: {node: 14 || >=16.14} + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + lru-cache@4.1.5: resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} @@ -9886,6 +10214,10 @@ packages: resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} engines: {node: '>=8.6'} + micromatch@4.0.7: + resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} + engines: {node: '>=8.6'} + miller-rabin@4.0.1: resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==} hasBin: true @@ -10010,6 +10342,9 @@ packages: mlly@1.7.0: resolution: {integrity: sha512-U9SDaXGEREBYQgfejV97coK0UL1r+qnF2SyO9A3qcI8MzKnsIFKHNVEkrDyNncQTKQQumsasmeq84eNMdBfsNQ==} + mlly@1.7.1: + resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==} + motion@10.16.2: resolution: {integrity: sha512-p+PurYqfUdcJZvtnmAqu5fJgV2kR0uLFQuBKtLeFVTrYEVllI99tiOTSefVNYuip9ELTEkepIIDftNdze76NAQ==} @@ -10046,8 +10381,8 @@ packages: n12@1.8.16: resolution: {integrity: sha512-CZqHAqbzS0UsaUGkMsL+lMaYLyFr1+/ea+pD8dMziqSjkcuWVWDtgWx9phyfT7C3llqQ2+LwnStSb5afggBMfA==} - nano-css@5.6.1: - resolution: {integrity: sha512-T2Mhc//CepkTa3X4pUhKgbEheJHYAxD0VptuqFhDbGMUWVV2m+lkNiW/Ieuj35wrfC8Zm0l7HvssQh7zcEttSw==} + nano-css@5.6.2: + resolution: {integrity: sha512-+6bHaC8dSDGALM1HJjOHVXpuastdu2xFoZlC77Jh4cg+33Zcgm+Gxd+1xsnpZK14eyHObSp82+ll5y3SX75liw==} peerDependencies: react: '*' react-dom: '*' @@ -10116,9 +10451,8 @@ packages: node-addon-api@5.1.0: resolution: {integrity: sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==} - node-addon-api@7.1.0: - resolution: {integrity: sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g==} - engines: {node: ^16 || ^18 || >= 20} + node-addon-api@7.1.1: + resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} node-dir@0.1.17: resolution: {integrity: sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==} @@ -10168,6 +10502,9 @@ packages: node-releases@2.0.14: resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + node-releases@2.0.18: + resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} + node-stdlib-browser@1.2.0: resolution: {integrity: sha512-VSjFxUhRhkyed8AtLwSCkMrJRfQ3e2lGtG3sP6FEgaLKBBbxM/dLfjRe1+iLhjvyLFW3tBQ8+c0pcOtXGbAZJg==} engines: {node: '>=10'} @@ -10259,6 +10596,10 @@ packages: object-inspect@1.13.1: resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + object-inspect@1.13.2: + resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} + engines: {node: '>= 0.4'} + object-is@1.1.5: resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} engines: {node: '>= 0.4'} @@ -10283,10 +10624,6 @@ packages: resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==} engines: {node: '>= 0.4'} - object.fromentries@2.0.6: - resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==} - engines: {node: '>= 0.4'} - object.fromentries@2.0.7: resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} engines: {node: '>= 0.4'} @@ -10302,13 +10639,6 @@ packages: object.groupby@1.0.1: resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==} - object.hasown@1.1.2: - resolution: {integrity: sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==} - - object.values@1.1.6: - resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==} - engines: {node: '>= 0.4'} - object.values@1.1.7: resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} engines: {node: '>= 0.4'} @@ -10689,17 +11019,20 @@ packages: pkg-types@1.1.1: resolution: {integrity: sha512-ko14TjmDuQJ14zsotODv7dBlwxKhUKQEhuhmbqo1uCi9BB0Z2alo/wAXg6q1dTR5TyuqYyWhjtfe/Tsh+X28jQ==} + pkg-types@1.1.3: + resolution: {integrity: sha512-+JrgthZG6m3ckicaOB74TwQ+tBWsFl3qVQg7mN8ulwSOElJ7gBhKzj2VkCPnZ4NlF6kEquYU+RIYNVAvzd54UA==} + pkg-up@3.1.0: resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} engines: {node: '>=8'} - playwright-core@1.45.1: - resolution: {integrity: sha512-LF4CUUtrUu2TCpDw4mcrAIuYrEjVDfT1cHbJMfwnE2+1b8PZcFzPNgvZCvq2JfQ4aTjRCCHw5EJ2tmr2NSzdPg==} + playwright-core@1.45.3: + resolution: {integrity: sha512-+ym0jNbcjikaOwwSZycFbwkWgfruWvYlJfThKYAlImbxUgdWFO2oW70ojPm4OpE4t6TAo2FY/smM+hpVTtkhDA==} engines: {node: '>=18'} hasBin: true - playwright@1.45.1: - resolution: {integrity: sha512-Hjrgae4kpSQBr98nhCj3IScxVeVUixqj+5oyif8TdIn2opTCPEzqAqNMeK42i3cWDCVu9MI+ZsGWw+gVR4ISBg==} + playwright@1.45.3: + resolution: {integrity: sha512-QhVaS+lpluxCaioejDZ95l4Y4jSFCsBvl2UZkpeXlzxmqS+aABr5c82YmfMHrL6x27nvrvykJAFpkzT2eWdJww==} engines: {node: '>=18'} hasBin: true @@ -11168,10 +11501,6 @@ packages: resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==} engines: {node: ^10 || ^12 || >=14} - postcss@8.4.38: - resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} - engines: {node: ^10 || ^12 || >=14} - postcss@8.4.39: resolution: {integrity: sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==} engines: {node: ^10 || ^12 || >=14} @@ -11179,6 +11508,9 @@ packages: preact@10.22.0: resolution: {integrity: sha512-RRurnSjJPj4rp5K6XoP45Ui33ncb7e4H7WiOHVpjbkvqvA3U+N8Z6Qbo0AE6leGYBV66n8EhEaFixvIu3SkxFw==} + preact@10.22.1: + resolution: {integrity: sha512-jRYbDDgMpIb5LHq3hkI0bbl+l/TQ9UnkdQ0ww+lp+4MMOdqaUYdFc5qeyP+IV8FAd/2Em7drVPeKdQxsiWCf/A==} + preferred-pm@3.0.3: resolution: {integrity: sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==} engines: {node: '>=10'} @@ -11327,6 +11659,7 @@ packages: engines: {node: '>=0.6.0', teleport: '>=0.2.0'} deprecated: |- You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other. + (For a CapTP with native promises, see @endo/eventual-send and @endo/captp) qr-code-styling@1.6.0-rc.1: @@ -11427,8 +11760,8 @@ packages: typescript: optional: true - react-devtools-core@5.2.0: - resolution: {integrity: sha512-vZK+/gvxxsieAoAyYaiRIVFxlajb7KXhgBDV7OsoMzaAE+IqGpoxusBjIgq5ibqA2IloKu0p9n7tE68z1xs18A==} + react-devtools-core@5.3.1: + resolution: {integrity: sha512-7FSb9meX0btdBQLwdFOwt6bGqvRPabmVMMslv8fgoSPqXyuGpgQe36kx8gR86XPw7aV1yVouTp6fyZ0EH+NfUw==} react-dom@18.2.0: resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} @@ -11472,6 +11805,9 @@ packages: react-is@18.2.0: resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + react-native-webview@11.26.1: resolution: {integrity: sha512-hC7BkxOpf+z0UKhxFSFTPAM4shQzYmZHoELa6/8a/MspcjEP7ukYKpuSUTLDywQditT8yI9idfcKvfZDKQExGw==} peerDependencies: @@ -11551,8 +11887,8 @@ packages: react: '*' tslib: '*' - react-use@17.5.0: - resolution: {integrity: sha512-PbfwSPMwp/hoL847rLnm/qkjg3sTRCvn6YhUZiHaUa3FA6/aNoFX79ul5Xt70O1rK+9GxSVqkY0eTwMdsR/bWg==} + react-use@17.5.1: + resolution: {integrity: sha512-LG/uPEVRflLWMwi3j/sZqR00nF6JGqTTDblkXK2nzXsIvij06hXl1V/MZIlwj1OKIQUtlh1l9jK8gLsRyCQxMg==} peerDependencies: react: '*' react-dom: '*' @@ -11613,8 +11949,8 @@ packages: resolution: {integrity: sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==} engines: {node: '>=6.0.0'} - reflect.getprototypeof@1.0.4: - resolution: {integrity: sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==} + reflect.getprototypeof@1.0.6: + resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==} engines: {node: '>= 0.4'} regenerate-unicode-properties@10.1.0: @@ -11630,16 +11966,15 @@ packages: regenerator-runtime@0.14.0: resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} + regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + regenerator-transform@0.15.1: resolution: {integrity: sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==} regex-parser@2.2.11: resolution: {integrity: sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==} - regexp.prototype.flags@1.5.0: - resolution: {integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==} - engines: {node: '>= 0.4'} - regexp.prototype.flags@1.5.2: resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} engines: {node: '>= 0.4'} @@ -11759,10 +12094,6 @@ packages: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true - resolve@2.0.0-next.4: - resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} - hasBin: true - resolve@2.0.0-next.5: resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} hasBin: true @@ -11839,8 +12170,8 @@ packages: engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true - rollup@4.16.4: - resolution: {integrity: sha512-kuaTJSUbz+Wsb2ATGvEknkI12XV40vIiHmLuFlejoo7HtDok/O5eDDD0UpCVY5bBX5U5RYo8wWP83H7ZsqVEnA==} + rollup@4.19.0: + resolution: {integrity: sha512-5r7EYSQIowHsK4eTZ0Y81qpZuJz+MUuYeqmmYmRMl1nwhdmbiYqt5jwzf6u7wyOzJgYqtCRMtVRKOtHANBz7rA==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -11860,10 +12191,6 @@ packages: safaridriver@0.1.2: resolution: {integrity: sha512-4R309+gWflJktzPXBQCobbWEHlzC4aK3a+Ov3tz2Ib2aBxiwd11phkdIBH1l0EO22x24CJMUQkpKFumRriCSRg==} - safe-array-concat@1.0.1: - resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} - engines: {node: '>=0.4'} - safe-array-concat@1.1.2: resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} engines: {node: '>=0.4'} @@ -11967,8 +12294,8 @@ packages: resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} engines: {node: '>=10'} - semver@5.7.1: - resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} + semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true semver@6.3.0: @@ -11989,6 +12316,11 @@ packages: engines: {node: '>=10'} hasBin: true + semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + send@0.18.0: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} engines: {node: '>= 0.8.0'} @@ -12025,10 +12357,6 @@ packages: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} - set-function-name@2.0.1: - resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} - engines: {node: '>= 0.4'} - set-function-name@2.0.2: resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} engines: {node: '>= 0.4'} @@ -12079,9 +12407,6 @@ packages: shiki@1.10.3: resolution: {integrity: sha512-eneCLncGuvPdTutJuLyUGS8QNPAVFO5Trvld2wgEq1e002mwctAhJKeMGWtWVXOIEzmlcLRqcgPSorR6AVzOmQ==} - side-channel@1.0.4: - resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} - side-channel@1.0.6: resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} engines: {node: '>= 0.4'} @@ -12134,9 +12459,9 @@ packages: resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} - smol-toml@1.1.4: - resolution: {integrity: sha512-Y0OT8HezWsTNeEOSVxDnKOW/AyNXHQ4BwJNbAXlLTF5wWsBvrcHhIkE5Rf8kQMLmgf7nDX3PVOlgC6/Aiggu3Q==} - engines: {node: '>= 18', pnpm: '>= 8'} + smol-toml@1.3.0: + resolution: {integrity: sha512-tWpi2TsODPScmi48b/OQZGi2lgUmBCHy6SZrhi/FdnnHiU1GwebbCfuQuxsC3nHaLwtYeJGPrDZDIeodDOc4pA==} + engines: {node: '>= 18'} snake-case@3.0.4: resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} @@ -12191,6 +12516,10 @@ packages: resolution: {integrity: sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==} engines: {node: '>=0.10.0'} + source-map@0.5.7: + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} + engines: {node: '>=0.10.0'} + source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} @@ -12342,9 +12671,6 @@ packages: resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} engines: {node: '>= 0.4'} - string.prototype.matchall@4.0.8: - resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==} - string.prototype.padend@3.1.4: resolution: {integrity: sha512-67otBXoksdjsnXXRUq+KMVTdlVRZ2af422Y0aTyTjVaoQkGr3mxl2Bc5emi7dOQ3OGVVQQskmLEWwFXwommpNw==} engines: {node: '>= 0.4'} @@ -12533,8 +12859,8 @@ packages: symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} - synckit@0.8.8: - resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} + synckit@0.9.1: + resolution: {integrity: sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A==} engines: {node: ^14.18.0 || >=16.0.0} system-architecture@0.1.0: @@ -12548,8 +12874,8 @@ packages: resolution: {integrity: sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==} engines: {node: '>=10.0.0'} - tailwindcss@3.4.4: - resolution: {integrity: sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==} + tailwindcss@3.4.6: + resolution: {integrity: sha512-1uRHzPB+Vzu57ocybfZ4jh5Q3SdlH7XW23J5sQoM9LhE9eIOlzxer/3XPSsycvih3rboRsvt0QCmzSrqyOYUIA==} engines: {node: '>=14.0.0'} hasBin: true @@ -12608,6 +12934,11 @@ packages: engines: {node: '>=10'} hasBin: true + terser@5.31.3: + resolution: {integrity: sha512-pAfYn3NIZLyZpa83ZKigvj6Rn9c/vd5KfYGX7cN1mnzqgDcxWvrU5ZtAfIKhEXz9nRecw4z3LXkjaq96/qZqAA==} + engines: {node: '>=10'} + hasBin: true + test-exclude@6.0.0: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} @@ -12858,38 +13189,38 @@ packages: resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==} engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'} - turbo-darwin-64@2.0.6: - resolution: {integrity: sha512-XpgBwWj3Ggmz/gQVqXdMKXHC1iFPMDiuwugLwSzE7Ih0O13JuNtYZKhQnopvbDQnFQCeRq2Vsm5OTWabg/oB/g==} + turbo-darwin-64@2.0.9: + resolution: {integrity: sha512-owlGsOaExuVGBUfrnJwjkL1BWlvefjSKczEAcpLx4BI7Oh6ttakOi+JyomkPkFlYElRpjbvlR2gP8WIn6M/+xQ==} cpu: [x64] os: [darwin] - turbo-darwin-arm64@2.0.6: - resolution: {integrity: sha512-RfeZYXIAkiA21E8lsvfptGTqz/256YD+eI1x37fedfvnHFWuIMFZGAOwJxtZc6QasQunDZ9TRRREbJNI68tkIw==} + turbo-darwin-arm64@2.0.9: + resolution: {integrity: sha512-XAXkKkePth5ZPPE/9G9tTnPQx0C8UTkGWmNGYkpmGgRr8NedW+HrPsi9N0HcjzzIH9A4TpNYvtiV+WcwdaEjKA==} cpu: [arm64] os: [darwin] - turbo-linux-64@2.0.6: - resolution: {integrity: sha512-92UDa0xNQQbx0HdSp9ag3YSS3xPdavhc7q9q9mxIAcqyjjD6VElA4Y85m4F/DDGE5SolCrvBz2sQhVmkOd6Caw==} + turbo-linux-64@2.0.9: + resolution: {integrity: sha512-l9wSgEjrCFM1aG16zItBsZ206ZlhSSx1owB8Cgskfv0XyIXRGHRkluihiaxkp+UeU5WoEfz4EN5toc+ICA0q0w==} cpu: [x64] os: [linux] - turbo-linux-arm64@2.0.6: - resolution: {integrity: sha512-eQKu6utCVUkIH2kqOzD8OS6E0ba6COjWm6PRDTNCHQRljZW503ycaTUIdMOiJrVg1MkEjDyOReUg8s8D18aJ4Q==} + turbo-linux-arm64@2.0.9: + resolution: {integrity: sha512-gRnjxXRne18B27SwxXMqL3fJu7jw/8kBrOBTBNRSmZZiG1Uu3nbnP7b4lgrA/bCku6C0Wligwqurvtpq6+nFHA==} cpu: [arm64] os: [linux] - turbo-windows-64@2.0.6: - resolution: {integrity: sha512-+9u4EPrpoeHYCQ46dRcou9kbkSoelhOelHNcbs2d86D6ruYD/oIAHK9qgYK8LeARRz0jxhZIA/dWYdYsxJJWkw==} + turbo-windows-64@2.0.9: + resolution: {integrity: sha512-ZVo0apxUvaRq4Vm1qhsfqKKhtRgReYlBVf9MQvVU1O9AoyydEQvLDO1ryqpXDZWpcHoFxHAQc9msjAMtE5K2lA==} cpu: [x64] os: [win32] - turbo-windows-arm64@2.0.6: - resolution: {integrity: sha512-rdrKL+p+EjtdDVg0wQ/7yTbzkIYrnb0Pw4IKcjsy3M0RqUM9UcEi67b94XOAyTa5a0GqJL1+tUj2ebsFGPgZbg==} + turbo-windows-arm64@2.0.9: + resolution: {integrity: sha512-sGRz7c5Pey6y7y9OKi8ypbWNuIRPF9y8xcMqL56OZifSUSo+X2EOsOleR9MKxQXVaqHPGOUKWsE6y8hxBi9pag==} cpu: [arm64] os: [win32] - turbo@2.0.6: - resolution: {integrity: sha512-/Ftmxd5Mq//a9yMonvmwENNUN65jOVTwhhBPQjEtNZutYT9YKyzydFGLyVM1nzhpLWahQSMamRc/RDBv5EapzA==} + turbo@2.0.9: + resolution: {integrity: sha512-QaLaUL1CqblSKKPgLrFW3lZWkWG4pGBQNW+q1ScJB5v1D/nFWtsrD/yZljW/bdawg90ihi4/ftQJ3h6fz1FamA==} hasBin: true type-check@0.4.0: @@ -13016,6 +13347,9 @@ packages: ufo@1.5.3: resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} + ufo@1.5.4: + resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} + uglify-js@3.17.4: resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} engines: {node: '>=0.8.0'} @@ -13052,8 +13386,8 @@ packages: resolution: {integrity: sha512-3ItfzbrhDlINjaP0duwnNsKpDQk3acHI3gVJ1z4fmwMK31k5G9OVIAMLSIaP6w4FaGkaAkN6zaQO9LUvZ1t7VA==} engines: {node: '>=14.0'} - unenv@1.9.0: - resolution: {integrity: sha512-QKnFNznRxmbOF1hDgzpqrlIf6NC5sbZ2OJ+5Wl3OX8uM+LUJXbj4TXvLJCtwbPTmbMHCLIz6JLKNinNsMShK9g==} + unenv@1.10.0: + resolution: {integrity: sha512-wY5bskBQFL9n3Eca5XnhH6KbUo/tfvkwm9OpcdCvLaeA7piBNbavbOKJySEwQ1V0RH6HvNlSAFRTpvTqgKRQXQ==} unfetch@4.2.0: resolution: {integrity: sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==} @@ -13189,6 +13523,12 @@ packages: peerDependencies: browserslist: '>= 4.21.0' + update-browserslist-db@1.1.0: + resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + upper-case-first@2.0.2: resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} @@ -13345,8 +13685,8 @@ packages: vite-plugin-plain-text@1.4.2: resolution: {integrity: sha512-nkCWW16lkTidaGZ9kItwMZ5OEkUeXMrY4Okc9IQXrN/p6SAuDYmEiGqMRKl1rnhm6CR1h98uJtn+ODkv0cL7DA==} - vite@5.3.3: - resolution: {integrity: sha512-NPQdeCU0Dv2z5fu+ULotpuq5yfCS1BzKUIPhNbP3YBfAMGJXbt2nS+sbTFu+qchaqWTD+H3JK++nRwr6XIcp6A==} + vite@5.3.4: + resolution: {integrity: sha512-Cw+7zL3ZG9/NZBB8C+8QbQZmR54GwqIz+WMI4b3JgdYJvX+ny9AjJXqkGQlDXSXRP9rP0B4tbciRMOVEKulVOA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -13445,8 +13785,8 @@ packages: '@vue/composition-api': optional: true - vue@3.4.31: - resolution: {integrity: sha512-njqRrOy7W3YLAlVqSKpBebtZpDVg21FPoaq1I7f/+qqBThK9ChAIjkRWgeP6Eat+8C+iia4P3OYqpATP21BCoQ==} + vue@3.4.33: + resolution: {integrity: sha512-VdMCWQOummbhctl4QFMcW6eNtXHsFyDlX60O/tsSQuCcuDOnJ1qPOhhVla65Niece7xq/P2zyZReIO5mP+LGTQ==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -13579,6 +13919,9 @@ packages: whatwg-fetch@3.6.2: resolution: {integrity: sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==} + whatwg-fetch@3.6.20: + resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==} + whatwg-mimetype@2.3.0: resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==} @@ -13602,6 +13945,10 @@ packages: which-collection@1.0.1: resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} + which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} + which-module@2.0.1: resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} @@ -13717,8 +14064,20 @@ packages: resolution: {integrity: sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==} engines: {node: '>=4'} - ws@6.2.2: - resolution: {integrity: sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==} + ws@6.2.3: + resolution: {integrity: sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@7.5.10: + resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} + engines: {node: '>=8.3.0'} peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ^5.0.2 @@ -13872,8 +14231,8 @@ packages: resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} engines: {node: '>= 14'} - zod-validation-error@3.1.0: - resolution: {integrity: sha512-zujS6HqJjMZCsvjfbnRs7WI3PXN39ovTcY1n8a+KTm4kOH0ZXYsNiJkH1odZf4xZKMkBDL7M2rmQ913FCS1p9w==} + zod-validation-error@3.3.0: + resolution: {integrity: sha512-Syib9oumw1NTqEv4LT0e6U83Td9aVRk9iTXPUQr1otyV1PuXQKOvOwhMNqZIq5hluzHP2pMgnOmHEo7kPdI2mw==} engines: {node: '>=18.0.0'} peerDependencies: zod: ^3.18.0 @@ -13881,6 +14240,9 @@ packages: zod@3.22.4: resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} + zod@3.23.8: + resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} + zustand@4.4.1: resolution: {integrity: sha512-QCPfstAS4EBiTQzlaGP1gmorkh/UL1Leaj2tdj+zZCZ/9bm0WS7sI2wnfD5lpOszFqWJ1DcPnGoY8RDL61uokw==} engines: {node: '>=12.7.0'} @@ -14021,6 +14383,11 @@ snapshots: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + '@apideck/better-ajv-errors@0.3.6(ajv@8.12.0)': dependencies: ajv: 8.12.0 @@ -14032,10 +14399,10 @@ snapshots: dependencies: '@babel/core': 7.24.4 '@babel/generator': 7.24.4 - '@babel/parser': 7.24.7 - '@babel/runtime': 7.24.7 + '@babel/parser': 7.24.8 + '@babel/runtime': 7.24.8 '@babel/traverse': 7.24.1 - '@babel/types': 7.24.6 + '@babel/types': 7.24.9 babel-preset-fbjs: 3.4.0(@babel/core@7.24.4) chalk: 4.1.2 fb-watchman: 2.0.2 @@ -14089,6 +14456,8 @@ snapshots: '@babel/compat-data@7.24.7': {} + '@babel/compat-data@7.24.9': {} + '@babel/core@7.22.5': dependencies: '@ampproject/remapping': 2.2.1 @@ -14105,7 +14474,7 @@ snapshots: debug: 4.3.5(supports-color@5.5.0) gensync: 1.0.0-beta.2 json5: 2.2.3 - semver: 6.3.0 + semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -14117,7 +14486,7 @@ snapshots: '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) '@babel/helpers': 7.24.4 - '@babel/parser': 7.24.4 + '@babel/parser': 7.24.8 '@babel/template': 7.24.6 '@babel/traverse': 7.24.1 '@babel/types': 7.24.6 @@ -14149,13 +14518,40 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/core@7.24.9': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.24.10 + '@babel/helper-compilation-targets': 7.24.8 + '@babel/helper-module-transforms': 7.24.9(@babel/core@7.24.9) + '@babel/helpers': 7.24.8 + '@babel/parser': 7.24.8 + '@babel/template': 7.24.7 + '@babel/traverse': 7.24.8 + '@babel/types': 7.24.9 + convert-source-map: 2.0.0 + debug: 4.3.5(supports-color@5.5.0) + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + '@babel/eslint-parser@7.22.5(@babel/core@7.22.5)(eslint@8.57.0)': dependencies: '@babel/core': 7.22.5 '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 eslint: 8.57.0 eslint-visitor-keys: 2.1.0 - semver: 6.3.0 + semver: 6.3.1 + + '@babel/generator@7.24.10': + dependencies: + '@babel/types': 7.24.9 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 '@babel/generator@7.24.4': dependencies: @@ -14173,15 +14569,19 @@ snapshots: '@babel/helper-annotate-as-pure@7.22.5': dependencies: - '@babel/types': 7.24.6 + '@babel/types': 7.24.9 '@babel/helper-annotate-as-pure@7.24.6': dependencies: - '@babel/types': 7.24.6 + '@babel/types': 7.24.9 + + '@babel/helper-annotate-as-pure@7.24.7': + dependencies: + '@babel/types': 7.24.9 '@babel/helper-builder-binary-assignment-operator-visitor@7.22.5': dependencies: - '@babel/types': 7.24.6 + '@babel/types': 7.24.9 '@babel/helper-compilation-targets@7.22.5(@babel/core@7.22.5)': dependencies: @@ -14201,10 +14601,10 @@ snapshots: lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-compilation-targets@7.22.5(@babel/core@7.24.7)': + '@babel/helper-compilation-targets@7.22.5(@babel/core@7.24.9)': dependencies: '@babel/compat-data': 7.22.5 - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-validator-option': 7.22.5 browserslist: 4.22.1 lru-cache: 5.1.1 @@ -14226,6 +14626,14 @@ snapshots: lru-cache: 5.1.1 semver: 6.3.1 + '@babel/helper-compilation-targets@7.24.8': + dependencies: + '@babel/compat-data': 7.24.9 + '@babel/helper-validator-option': 7.24.8 + browserslist: 4.23.2 + lru-cache: 5.1.1 + semver: 6.3.1 + '@babel/helper-create-class-features-plugin@7.22.5(@babel/core@7.22.5)': dependencies: '@babel/core': 7.22.5 @@ -14256,9 +14664,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/helper-create-class-features-plugin@7.22.5(@babel/core@7.24.7)': + '@babel/helper-create-class-features-plugin@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-function-name': 7.22.5 @@ -14271,18 +14679,20 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/helper-create-class-features-plugin@7.24.6(@babel/core@7.24.7)': + '@babel/helper-create-class-features-plugin@7.24.8(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-annotate-as-pure': 7.24.6 + '@babel/core': 7.24.9 + '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-environment-visitor': 7.24.7 '@babel/helper-function-name': 7.24.7 - '@babel/helper-member-expression-to-functions': 7.24.6 - '@babel/helper-optimise-call-expression': 7.24.6 - '@babel/helper-replace-supers': 7.24.6(@babel/core@7.24.7) - '@babel/helper-skip-transparent-expression-wrappers': 7.24.6 + '@babel/helper-member-expression-to-functions': 7.24.8 + '@babel/helper-optimise-call-expression': 7.24.7 + '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.9) + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 '@babel/helper-split-export-declaration': 7.24.7 semver: 6.3.1 + transitivePeerDependencies: + - supports-color '@babel/helper-create-regexp-features-plugin@7.22.5(@babel/core@7.22.5)': dependencies: @@ -14291,13 +14701,20 @@ snapshots: regexpu-core: 5.3.2 semver: 6.3.1 - '@babel/helper-create-regexp-features-plugin@7.22.5(@babel/core@7.24.7)': + '@babel/helper-create-regexp-features-plugin@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-annotate-as-pure': 7.22.5 regexpu-core: 5.3.2 semver: 6.3.1 + '@babel/helper-create-regexp-features-plugin@7.24.7(@babel/core@7.24.9)': + dependencies: + '@babel/core': 7.24.9 + '@babel/helper-annotate-as-pure': 7.24.7 + regexpu-core: 5.3.2 + semver: 6.3.1 + '@babel/helper-define-polyfill-provider@0.4.0(@babel/core@7.22.5)': dependencies: '@babel/core': 7.22.5 @@ -14310,10 +14727,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/helper-define-polyfill-provider@0.4.0(@babel/core@7.24.7)': + '@babel/helper-define-polyfill-provider@0.4.0(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.6 debug: 4.3.5(supports-color@5.5.0) lodash.debounce: 4.0.8 @@ -14322,6 +14739,17 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.24.9)': + dependencies: + '@babel/core': 7.24.9 + '@babel/helper-compilation-targets': 7.24.8 + '@babel/helper-plugin-utils': 7.24.8 + debug: 4.3.5(supports-color@5.5.0) + lodash.debounce: 4.0.8 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + '@babel/helper-environment-visitor@7.22.20': {} '@babel/helper-environment-visitor@7.22.5': {} @@ -14330,51 +14758,54 @@ snapshots: '@babel/helper-environment-visitor@7.24.7': dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.24.9 '@babel/helper-function-name@7.22.5': dependencies: '@babel/template': 7.24.6 - '@babel/types': 7.24.6 + '@babel/types': 7.24.9 '@babel/helper-function-name@7.24.6': dependencies: '@babel/template': 7.24.6 - '@babel/types': 7.24.6 + '@babel/types': 7.24.9 '@babel/helper-function-name@7.24.7': dependencies: '@babel/template': 7.24.7 - '@babel/types': 7.24.7 + '@babel/types': 7.24.9 '@babel/helper-hoist-variables@7.22.5': dependencies: - '@babel/types': 7.24.6 + '@babel/types': 7.24.9 '@babel/helper-hoist-variables@7.24.7': dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.24.9 '@babel/helper-member-expression-to-functions@7.22.5': dependencies: - '@babel/types': 7.24.6 + '@babel/types': 7.24.9 - '@babel/helper-member-expression-to-functions@7.24.6': + '@babel/helper-member-expression-to-functions@7.24.8': dependencies: - '@babel/types': 7.24.7 + '@babel/traverse': 7.24.8 + '@babel/types': 7.24.9 + transitivePeerDependencies: + - supports-color '@babel/helper-module-imports@7.22.15': dependencies: - '@babel/types': 7.24.6 + '@babel/types': 7.24.9 '@babel/helper-module-imports@7.22.5': dependencies: - '@babel/types': 7.24.6 + '@babel/types': 7.24.9 '@babel/helper-module-imports@7.24.7': dependencies: '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/types': 7.24.9 transitivePeerDependencies: - supports-color @@ -14411,35 +14842,57 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/helper-module-transforms@7.24.9(@babel/core@7.24.9)': + dependencies: + '@babel/core': 7.24.9 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-simple-access': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + transitivePeerDependencies: + - supports-color + '@babel/helper-optimise-call-expression@7.22.5': dependencies: - '@babel/types': 7.24.6 + '@babel/types': 7.24.9 - '@babel/helper-optimise-call-expression@7.24.6': + '@babel/helper-optimise-call-expression@7.24.7': dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.24.9 '@babel/helper-plugin-utils@7.24.6': {} '@babel/helper-plugin-utils@7.24.7': {} + '@babel/helper-plugin-utils@7.24.8': {} + '@babel/helper-remap-async-to-generator@7.22.5(@babel/core@7.22.5)': dependencies: '@babel/core': 7.22.5 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.24.6 '@babel/helper-wrap-function': 7.22.5 - '@babel/types': 7.24.6 + '@babel/types': 7.24.9 transitivePeerDependencies: - supports-color - '@babel/helper-remap-async-to-generator@7.22.5(@babel/core@7.24.7)': + '@babel/helper-remap-async-to-generator@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.24.6 '@babel/helper-wrap-function': 7.22.5 - '@babel/types': 7.24.6 + '@babel/types': 7.24.9 + transitivePeerDependencies: + - supports-color + + '@babel/helper-remap-async-to-generator@7.24.7(@babel/core@7.24.9)': + dependencies: + '@babel/core': 7.24.9 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-wrap-function': 7.24.7 transitivePeerDependencies: - supports-color @@ -14450,56 +14903,63 @@ snapshots: '@babel/helper-optimise-call-expression': 7.22.5 '@babel/template': 7.24.6 '@babel/traverse': 7.24.1 - '@babel/types': 7.24.6 + '@babel/types': 7.24.9 transitivePeerDependencies: - supports-color - '@babel/helper-replace-supers@7.24.6(@babel/core@7.24.7)': + '@babel/helper-replace-supers@7.24.7(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-member-expression-to-functions': 7.24.6 - '@babel/helper-optimise-call-expression': 7.24.6 + '@babel/helper-member-expression-to-functions': 7.24.8 + '@babel/helper-optimise-call-expression': 7.24.7 + transitivePeerDependencies: + - supports-color '@babel/helper-simple-access@7.22.5': dependencies: - '@babel/types': 7.24.6 + '@babel/types': 7.24.9 '@babel/helper-simple-access@7.24.7': dependencies: '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/types': 7.24.9 transitivePeerDependencies: - supports-color '@babel/helper-skip-transparent-expression-wrappers@7.22.5': dependencies: - '@babel/types': 7.24.6 + '@babel/types': 7.24.9 - '@babel/helper-skip-transparent-expression-wrappers@7.24.6': + '@babel/helper-skip-transparent-expression-wrappers@7.24.7': dependencies: - '@babel/types': 7.24.7 + '@babel/traverse': 7.24.8 + '@babel/types': 7.24.9 + transitivePeerDependencies: + - supports-color '@babel/helper-split-export-declaration@7.22.5': dependencies: - '@babel/types': 7.24.6 + '@babel/types': 7.24.9 '@babel/helper-split-export-declaration@7.22.6': dependencies: - '@babel/types': 7.24.6 + '@babel/types': 7.24.9 '@babel/helper-split-export-declaration@7.24.6': dependencies: - '@babel/types': 7.24.6 + '@babel/types': 7.24.9 '@babel/helper-split-export-declaration@7.24.7': dependencies: - '@babel/types': 7.24.7 + '@babel/types': 7.24.9 '@babel/helper-string-parser@7.24.6': {} '@babel/helper-string-parser@7.24.7': {} + '@babel/helper-string-parser@7.24.8': {} + '@babel/helper-validator-identifier@7.24.6': {} '@babel/helper-validator-identifier@7.24.7': {} @@ -14510,12 +14970,23 @@ snapshots: '@babel/helper-validator-option@7.24.7': {} + '@babel/helper-validator-option@7.24.8': {} + '@babel/helper-wrap-function@7.22.5': dependencies: '@babel/helper-function-name': 7.24.6 '@babel/template': 7.24.6 '@babel/traverse': 7.24.1 - '@babel/types': 7.24.6 + '@babel/types': 7.24.9 + transitivePeerDependencies: + - supports-color + + '@babel/helper-wrap-function@7.24.7': + dependencies: + '@babel/helper-function-name': 7.24.7 + '@babel/template': 7.24.7 + '@babel/traverse': 7.24.8 + '@babel/types': 7.24.9 transitivePeerDependencies: - supports-color @@ -14531,7 +15002,7 @@ snapshots: dependencies: '@babel/template': 7.24.6 '@babel/traverse': 7.24.1 - '@babel/types': 7.24.6 + '@babel/types': 7.24.9 transitivePeerDependencies: - supports-color @@ -14540,6 +15011,11 @@ snapshots: '@babel/template': 7.24.7 '@babel/types': 7.24.7 + '@babel/helpers@7.24.8': + dependencies: + '@babel/template': 7.24.7 + '@babel/types': 7.24.9 + '@babel/highlight@7.22.5': dependencies: '@babel/helper-validator-identifier': 7.24.6 @@ -14548,7 +15024,7 @@ snapshots: '@babel/highlight@7.24.2': dependencies: - '@babel/helper-validator-identifier': 7.24.6 + '@babel/helper-validator-identifier': 7.24.7 chalk: 2.4.2 js-tokens: 4.0.0 picocolors: 1.0.1 @@ -14579,14 +15055,18 @@ snapshots: dependencies: '@babel/types': 7.24.6 + '@babel/parser@7.24.8': + dependencies: + '@babel/types': 7.24.9 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.5(@babel/core@7.22.5)': dependencies: '@babel/core': 7.22.5 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.5(@babel/core@7.22.5)': @@ -14596,20 +15076,20 @@ snapshots: '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/plugin-transform-optional-chaining': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-optional-chaining': 7.22.5(@babel/core@7.24.7) + '@babel/plugin-transform-optional-chaining': 7.22.5(@babel/core@7.24.9) - '@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.24.7)': + '@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-remap-async-to-generator': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.7) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-remap-async-to-generator': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.9) transitivePeerDependencies: - supports-color @@ -14629,10 +15109,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.24.7)': + '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.6 transitivePeerDependencies: - supports-color @@ -14648,17 +15128,17 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-proposal-export-default-from@7.24.6(@babel/core@7.24.7)': + '@babel/plugin-proposal-export-default-from@7.24.7(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-export-default-from': 7.24.6(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-export-default-from': 7.24.7(@babel/core@7.24.9) - '@babel/plugin-proposal-logical-assignment-operators@7.20.7(@babel/core@7.24.7)': + '@babel/plugin-proposal-logical-assignment-operators@7.20.7(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.9) '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.22.5)': dependencies: @@ -14666,11 +15146,11 @@ snapshots: '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.24.7)': + '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.9) '@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.22.5)': dependencies: @@ -14678,11 +15158,11 @@ snapshots: '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.5) - '@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.24.7)': + '@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.7) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.9) '@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.24.4)': dependencies: @@ -14693,20 +15173,20 @@ snapshots: '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.4) '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.24.4) - '@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.24.7)': + '@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.24.9)': dependencies: '@babel/compat-data': 7.24.4 - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.24.7) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.24.9) - '@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.24.7)': + '@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.9) '@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.22.5)': dependencies: @@ -14715,12 +15195,12 @@ snapshots: '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.24.7)': + '@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.9) '@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.22.5)': dependencies: @@ -14734,9 +15214,9 @@ snapshots: dependencies: '@babel/core': 7.22.5 - '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.7)': + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/plugin-proposal-private-property-in-object@7.21.11(@babel/core@7.22.5)': dependencies: @@ -14754,10 +15234,10 @@ snapshots: '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.22.5) '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.24.7)': + '@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.22.5)': @@ -14770,9 +15250,9 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.7)': + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.22.5)': @@ -14795,9 +15275,9 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.7)': + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.22.5)': @@ -14805,9 +15285,9 @@ snapshots: '@babel/core': 7.22.5 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.7)': + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-syntax-decorators@7.22.5(@babel/core@7.22.5)': @@ -14820,24 +15300,24 @@ snapshots: '@babel/core': 7.22.5 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.7)': + '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-export-default-from@7.24.6(@babel/core@7.24.7)': + '@babel/plugin-syntax-export-default-from@7.24.7(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.22.5)': dependencies: '@babel/core': 7.22.5 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.7)': + '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-syntax-flow@7.22.5(@babel/core@7.22.5)': @@ -14845,20 +15325,20 @@ snapshots: '@babel/core': 7.22.5 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-flow@7.24.6(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-flow@7.24.6(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-flow@7.24.6(@babel/core@7.24.7)': + '@babel/plugin-syntax-flow@7.24.7(@babel/core@7.22.5)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/core': 7.22.5 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-flow@7.24.7(@babel/core@7.24.9)': + dependencies: + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.22.5)': dependencies: @@ -14870,9 +15350,9 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.22.5)': @@ -14880,9 +15360,9 @@ snapshots: '@babel/core': 7.22.5 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.22.5)': @@ -14895,9 +15375,9 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.7)': + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.22.5)': @@ -14910,9 +15390,9 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.7)': + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.5)': @@ -14920,25 +15400,20 @@ snapshots: '@babel/core': 7.22.5 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.24.4)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.22.5)': + '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.22.5)': dependencies: '@babel/core': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - - '@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.24.7)': + '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.22.5)': dependencies: @@ -14950,9 +15425,9 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.7)': + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.22.5)': @@ -14965,9 +15440,9 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.7)': + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.22.5)': @@ -14980,9 +15455,9 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.7)': + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.22.5)': @@ -14995,9 +15470,9 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.7)': + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.22.5)': @@ -15010,9 +15485,9 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.7)': + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.22.5)': @@ -15025,9 +15500,9 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.7)': + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.22.5)': @@ -15035,9 +15510,9 @@ snapshots: '@babel/core': 7.22.5 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.7)': + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.22.5)': @@ -15050,9 +15525,9 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.7)': + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.5)': @@ -15065,10 +15540,10 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.22.5)': dependencies: @@ -15076,10 +15551,10 @@ snapshots: '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.22.5) '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.7)': + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.22.5)': @@ -15092,11 +15567,16 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 + '@babel/plugin-transform-arrow-functions@7.24.7(@babel/core@7.24.9)': + dependencies: + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-async-generator-functions@7.22.5(@babel/core@7.22.5)': dependencies: '@babel/core': 7.22.5 @@ -15107,13 +15587,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-async-generator-functions@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-async-generator-functions@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-plugin-utils': 7.24.6 - '@babel/helper-remap-async-to-generator': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.7) + '@babel/helper-remap-async-to-generator': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.9) transitivePeerDependencies: - supports-color @@ -15126,12 +15606,21 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-module-imports': 7.22.5 '@babel/helper-plugin-utils': 7.24.6 - '@babel/helper-remap-async-to-generator': 7.22.5(@babel/core@7.24.7) + '@babel/helper-remap-async-to-generator': 7.22.5(@babel/core@7.24.9) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-async-to-generator@7.24.7(@babel/core@7.24.9)': + dependencies: + '@babel/core': 7.24.9 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-remap-async-to-generator': 7.24.7(@babel/core@7.24.9) transitivePeerDependencies: - supports-color @@ -15145,9 +15634,9 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-transform-block-scoping@7.22.5(@babel/core@7.22.5)': @@ -15160,11 +15649,16 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-transform-block-scoping@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-block-scoping@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 + '@babel/plugin-transform-block-scoping@7.24.7(@babel/core@7.24.9)': + dependencies: + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.22.5)': dependencies: '@babel/core': 7.22.5 @@ -15173,10 +15667,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.6 transitivePeerDependencies: - supports-color @@ -15190,12 +15684,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-class-static-block@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-class-static-block@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.7) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.9) transitivePeerDependencies: - supports-color @@ -15229,11 +15723,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-classes@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-classes@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.24.7) + '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.24.9) '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-function-name': 7.22.5 '@babel/helper-optimise-call-expression': 7.22.5 @@ -15244,6 +15738,20 @@ snapshots: transitivePeerDependencies: - supports-color + '@babel/plugin-transform-classes@7.24.8(@babel/core@7.24.9)': + dependencies: + '@babel/core': 7.24.9 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-compilation-targets': 7.24.8 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-replace-supers': 7.24.7(@babel/core@7.24.9) + '@babel/helper-split-export-declaration': 7.24.7 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + '@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.22.5)': dependencies: '@babel/core': 7.22.5 @@ -15256,12 +15764,18 @@ snapshots: '@babel/helper-plugin-utils': 7.24.6 '@babel/template': 7.24.6 - '@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 '@babel/template': 7.24.6 + '@babel/plugin-transform-computed-properties@7.24.7(@babel/core@7.24.9)': + dependencies: + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/template': 7.24.7 + '@babel/plugin-transform-destructuring@7.22.5(@babel/core@7.22.5)': dependencies: '@babel/core': 7.22.5 @@ -15272,21 +15786,26 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-transform-destructuring@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-destructuring@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 + '@babel/plugin-transform-destructuring@7.24.8(@babel/core@7.24.9)': + dependencies: + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.22.5)': dependencies: '@babel/core': 7.22.5 '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.22.5) '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.22.5)': @@ -15294,9 +15813,9 @@ snapshots: '@babel/core': 7.22.5 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-transform-dynamic-import@7.22.5(@babel/core@7.22.5)': @@ -15305,11 +15824,11 @@ snapshots: '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-transform-dynamic-import@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-dynamic-import@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.9) '@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.22.5)': dependencies: @@ -15317,9 +15836,9 @@ snapshots: '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.5 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.5 '@babel/helper-plugin-utils': 7.24.6 @@ -15329,11 +15848,11 @@ snapshots: '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-transform-export-namespace-from@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-export-namespace-from@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.9) '@babel/plugin-transform-flow-strip-types@7.22.5(@babel/core@7.22.5)': dependencies: @@ -15347,11 +15866,11 @@ snapshots: '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-syntax-flow': 7.24.6(@babel/core@7.24.4) - '@babel/plugin-transform-flow-strip-types@7.24.6(@babel/core@7.24.7)': + '@babel/plugin-transform-flow-strip-types@7.24.7(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-flow': 7.24.6(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-flow': 7.24.7(@babel/core@7.24.9) '@babel/plugin-transform-for-of@7.22.5(@babel/core@7.22.5)': dependencies: @@ -15363,9 +15882,9 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-transform-for-of@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-for-of@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-transform-function-name@7.22.5(@babel/core@7.22.5)': @@ -15382,24 +15901,31 @@ snapshots: '@babel/helper-function-name': 7.22.5 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-transform-function-name@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-function-name@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.24.9) '@babel/helper-function-name': 7.22.5 '@babel/helper-plugin-utils': 7.24.6 + '@babel/plugin-transform-function-name@7.24.7(@babel/core@7.24.9)': + dependencies: + '@babel/core': 7.24.9 + '@babel/helper-compilation-targets': 7.24.8 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-json-strings@7.22.5(@babel/core@7.22.5)': dependencies: '@babel/core': 7.22.5 '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-transform-json-strings@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-json-strings@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.9) '@babel/plugin-transform-literals@7.22.5(@babel/core@7.22.5)': dependencies: @@ -15411,22 +15937,27 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-transform-literals@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-literals@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 + '@babel/plugin-transform-literals@7.24.7(@babel/core@7.24.9)': + dependencies: + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-logical-assignment-operators@7.22.5(@babel/core@7.22.5)': dependencies: '@babel/core': 7.22.5 '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.5) - '@babel/plugin-transform-logical-assignment-operators@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-logical-assignment-operators@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.7) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.9) '@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.22.5)': dependencies: @@ -15438,9 +15969,9 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-transform-modules-amd@7.22.5(@babel/core@7.22.5)': @@ -15451,9 +15982,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-amd@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-modules-amd@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-module-transforms': 7.22.5 '@babel/helper-plugin-utils': 7.24.6 transitivePeerDependencies: @@ -15477,15 +16008,24 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-commonjs@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-modules-commonjs@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-module-transforms': 7.22.5 '@babel/helper-plugin-utils': 7.24.6 '@babel/helper-simple-access': 7.22.5 transitivePeerDependencies: - supports-color + '@babel/plugin-transform-modules-commonjs@7.24.8(@babel/core@7.24.9)': + dependencies: + '@babel/core': 7.24.9 + '@babel/helper-module-transforms': 7.24.9(@babel/core@7.24.9) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-simple-access': 7.24.7 + transitivePeerDependencies: + - supports-color + '@babel/plugin-transform-modules-systemjs@7.22.5(@babel/core@7.22.5)': dependencies: '@babel/core': 7.22.5 @@ -15496,9 +16036,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-systemjs@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-modules-systemjs@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-module-transforms': 7.22.5 '@babel/helper-plugin-utils': 7.24.6 @@ -15514,9 +16054,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-module-transforms': 7.22.5 '@babel/helper-plugin-utils': 7.24.6 transitivePeerDependencies: @@ -15528,20 +16068,26 @@ snapshots: '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.22.5) '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.6 + '@babel/plugin-transform-named-capturing-groups-regex@7.24.7(@babel/core@7.24.9)': + dependencies: + '@babel/core': 7.24.9 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.9) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-new-target@7.22.5(@babel/core@7.22.5)': dependencies: '@babel/core': 7.22.5 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-transform-new-target@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-new-target@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-transform-nullish-coalescing-operator@7.22.5(@babel/core@7.22.5)': @@ -15550,11 +16096,11 @@ snapshots: '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-transform-nullish-coalescing-operator@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-nullish-coalescing-operator@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.9) '@babel/plugin-transform-numeric-separator@7.22.5(@babel/core@7.22.5)': dependencies: @@ -15562,11 +16108,11 @@ snapshots: '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.5) - '@babel/plugin-transform-numeric-separator@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-numeric-separator@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.7) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.9) '@babel/plugin-transform-object-rest-spread@7.22.5(@babel/core@7.22.5)': dependencies: @@ -15577,14 +16123,14 @@ snapshots: '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.5) '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.22.5) - '@babel/plugin-transform-object-rest-spread@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-object-rest-spread@7.22.5(@babel/core@7.24.9)': dependencies: '@babel/compat-data': 7.22.5 - '@babel/core': 7.24.7 - '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.24.7) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.24.9) '@babel/plugin-transform-object-super@7.22.5(@babel/core@7.22.5)': dependencies: @@ -15602,9 +16148,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-object-super@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-object-super@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 '@babel/helper-replace-supers': 7.22.5 transitivePeerDependencies: @@ -15616,11 +16162,11 @@ snapshots: '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-transform-optional-catch-binding@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-optional-catch-binding@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.9) '@babel/plugin-transform-optional-chaining@7.22.5(@babel/core@7.22.5)': dependencies: @@ -15629,12 +16175,12 @@ snapshots: '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.5) - '@babel/plugin-transform-optional-chaining@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-optional-chaining@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.9) '@babel/plugin-transform-parameters@7.22.5(@babel/core@7.22.5)': dependencies: @@ -15646,11 +16192,16 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-transform-parameters@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-parameters@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 + '@babel/plugin-transform-parameters@7.24.7(@babel/core@7.24.9)': + dependencies: + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.22.5)': dependencies: '@babel/core': 7.22.5 @@ -15659,14 +16210,22 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.6 transitivePeerDependencies: - supports-color + '@babel/plugin-transform-private-methods@7.24.7(@babel/core@7.24.9)': + dependencies: + '@babel/core': 7.24.9 + '@babel/helper-create-class-features-plugin': 7.24.8(@babel/core@7.24.9) + '@babel/helper-plugin-utils': 7.24.8 + transitivePeerDependencies: + - supports-color + '@babel/plugin-transform-private-property-in-object@7.22.5(@babel/core@7.22.5)': dependencies: '@babel/core': 7.22.5 @@ -15677,23 +16236,25 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-private-property-in-object@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-private-property-in-object@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.24.7) + '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.7) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.9) transitivePeerDependencies: - supports-color - '@babel/plugin-transform-private-property-in-object@7.24.6(@babel/core@7.24.7)': + '@babel/plugin-transform-private-property-in-object@7.24.7(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-annotate-as-pure': 7.24.6 - '@babel/helper-create-class-features-plugin': 7.24.6(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.7 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.24.8(@babel/core@7.24.9) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.9) + transitivePeerDependencies: + - supports-color '@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.22.5)': dependencies: @@ -15705,9 +16266,9 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-transform-react-constant-elements@7.22.5(@babel/core@7.22.5)': @@ -15725,10 +16286,10 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-transform-react-display-name@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-react-display-name@7.24.7(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.22.5)': dependencies: @@ -15740,11 +16301,21 @@ snapshots: '@babel/core': 7.24.7 '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-transform-react-jsx-self@7.24.7(@babel/core@7.24.9)': + dependencies: + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.7 + '@babel/plugin-transform-react-jsx-source@7.24.1(@babel/core@7.24.7)': dependencies: '@babel/core': 7.24.7 '@babel/helper-plugin-utils': 7.24.6 + '@babel/plugin-transform-react-jsx-source@7.24.7(@babel/core@7.24.9)': + dependencies: + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-react-jsx@7.22.5(@babel/core@7.22.5)': dependencies: '@babel/core': 7.22.5 @@ -15752,16 +16323,7 @@ snapshots: '@babel/helper-module-imports': 7.22.5 '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.5) - '@babel/types': 7.24.6 - - '@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.22.5)': - dependencies: - '@babel/core': 7.22.5 - '@babel/helper-annotate-as-pure': 7.24.6 - '@babel/helper-module-imports': 7.22.15 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.22.5) - '@babel/types': 7.24.6 + '@babel/types': 7.24.9 '@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.4)': dependencies: @@ -15770,16 +16332,29 @@ snapshots: '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.24.4) - '@babel/types': 7.24.6 + '@babel/types': 7.24.9 - '@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.7)': + '@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.22.5)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-annotate-as-pure': 7.24.6 - '@babel/helper-module-imports': 7.22.15 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.24.7) - '@babel/types': 7.24.6 + '@babel/core': 7.22.5 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.22.5) + '@babel/types': 7.24.9 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.24.9)': + dependencies: + '@babel/core': 7.24.9 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.9) + '@babel/types': 7.24.9 + transitivePeerDependencies: + - supports-color '@babel/plugin-transform-react-pure-annotations@7.22.5(@babel/core@7.22.5)': dependencies: @@ -15793,9 +16368,9 @@ snapshots: '@babel/helper-plugin-utils': 7.24.6 regenerator-transform: 0.15.1 - '@babel/plugin-transform-regenerator@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-regenerator@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 regenerator-transform: 0.15.1 @@ -15804,9 +16379,9 @@ snapshots: '@babel/core': 7.22.5 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-transform-runtime@7.22.5(@babel/core@7.22.5)': @@ -15821,14 +16396,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-runtime@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-runtime@7.24.7(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-module-imports': 7.22.5 - '@babel/helper-plugin-utils': 7.24.6 - babel-plugin-polyfill-corejs2: 0.4.3(@babel/core@7.24.7) - babel-plugin-polyfill-corejs3: 0.8.1(@babel/core@7.24.7) - babel-plugin-polyfill-regenerator: 0.5.0(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 + babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.9) + babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.9) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.24.9) semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -15843,11 +16418,16 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 + '@babel/plugin-transform-shorthand-properties@7.24.7(@babel/core@7.24.9)': + dependencies: + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-spread@7.22.5(@babel/core@7.22.5)': dependencies: '@babel/core': 7.22.5 @@ -15860,22 +16440,35 @@ snapshots: '@babel/helper-plugin-utils': 7.24.6 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-spread@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-spread@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-transform-spread@7.24.7(@babel/core@7.24.9)': + dependencies: + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + transitivePeerDependencies: + - supports-color + '@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.22.5)': dependencies: '@babel/core': 7.22.5 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 + '@babel/plugin-transform-sticky-regex@7.24.7(@babel/core@7.24.9)': + dependencies: + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.22.5)': dependencies: '@babel/core': 7.22.5 @@ -15886,9 +16479,9 @@ snapshots: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.22.5)': @@ -15896,9 +16489,9 @@ snapshots: '@babel/core': 7.22.5 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-transform-typescript@7.22.5(@babel/core@7.22.5)': @@ -15911,13 +16504,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-typescript@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-typescript@7.24.8(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.5(@babel/core@7.24.7) - '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.24.8(@babel/core@7.24.9) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.24.9) transitivePeerDependencies: - supports-color @@ -15926,9 +16519,9 @@ snapshots: '@babel/core': 7.22.5 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-transform-unicode-escapes@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-unicode-escapes@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.22.5)': @@ -15937,10 +16530,10 @@ snapshots: '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.22.5) '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.22.5)': @@ -15949,22 +16542,28 @@ snapshots: '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.22.5) '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.6 + '@babel/plugin-transform-unicode-regex@7.24.7(@babel/core@7.24.9)': + dependencies: + '@babel/core': 7.24.9 + '@babel/helper-create-regexp-features-plugin': 7.24.7(@babel/core@7.24.9) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.22.5)': dependencies: '@babel/core': 7.22.5 '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.22.5) '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.24.7)': + '@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.6 '@babel/polyfill@7.12.1': @@ -16058,98 +16657,98 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/preset-env@7.22.5(@babel/core@7.24.7)': + '@babel/preset-env@7.22.5(@babel/core@7.24.9)': dependencies: '@babel/compat-data': 7.22.5 - '@babel/core': 7.24.7 - '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/helper-compilation-targets': 7.22.5(@babel/core@7.24.9) '@babel/helper-plugin-utils': 7.24.6 '@babel/helper-validator-option': 7.22.5 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.7) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.7) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.7) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.7) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-syntax-import-attributes': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.7) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.7) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.7) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.7) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.7) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.7) - '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-async-generator-functions': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-block-scoping': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-class-properties': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-class-static-block': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-classes': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-destructuring': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-duplicate-keys': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-dynamic-import': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-exponentiation-operator': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-export-namespace-from': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-for-of': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-json-strings': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-logical-assignment-operators': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-modules-amd': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-modules-systemjs': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-modules-umd': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-new-target': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-nullish-coalescing-operator': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-numeric-separator': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-object-rest-spread': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-optional-catch-binding': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-optional-chaining': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-private-methods': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-private-property-in-object': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-regenerator': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-reserved-words': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-typeof-symbol': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-unicode-escapes': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-unicode-property-regex': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-unicode-sets-regex': 7.22.5(@babel/core@7.24.7) - '@babel/preset-modules': 0.1.5(@babel/core@7.24.7) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.9) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.9) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.9) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.9) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-syntax-import-attributes': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.9) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.9) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.9) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.9) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.9) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.9) + '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-async-generator-functions': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-block-scoping': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-class-properties': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-class-static-block': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-classes': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-destructuring': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-duplicate-keys': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-dynamic-import': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-exponentiation-operator': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-export-namespace-from': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-for-of': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-json-strings': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-logical-assignment-operators': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-modules-amd': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-modules-systemjs': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-modules-umd': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-new-target': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-nullish-coalescing-operator': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-numeric-separator': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-object-rest-spread': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-optional-catch-binding': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-optional-chaining': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-private-methods': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-private-property-in-object': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-regenerator': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-reserved-words': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-typeof-symbol': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-unicode-escapes': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-unicode-property-regex': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.24.9) + '@babel/plugin-transform-unicode-sets-regex': 7.22.5(@babel/core@7.24.9) + '@babel/preset-modules': 0.1.5(@babel/core@7.24.9) '@babel/types': 7.24.6 - babel-plugin-polyfill-corejs2: 0.4.3(@babel/core@7.24.7) - babel-plugin-polyfill-corejs3: 0.8.1(@babel/core@7.24.7) - babel-plugin-polyfill-regenerator: 0.5.0(@babel/core@7.24.7) + babel-plugin-polyfill-corejs2: 0.4.3(@babel/core@7.24.9) + babel-plugin-polyfill-corejs3: 0.8.1(@babel/core@7.24.9) + babel-plugin-polyfill-regenerator: 0.5.0(@babel/core@7.24.9) core-js-compat: 3.31.0 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/preset-flow@7.24.6(@babel/core@7.24.7)': + '@babel/preset-flow@7.24.7(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.7 - '@babel/helper-validator-option': 7.24.7 - '@babel/plugin-transform-flow-strip-types': 7.24.6(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-validator-option': 7.24.8 + '@babel/plugin-transform-flow-strip-types': 7.24.7(@babel/core@7.24.9) '@babel/preset-modules@0.1.5(@babel/core@7.22.5)': dependencies: @@ -16157,16 +16756,16 @@ snapshots: '@babel/helper-plugin-utils': 7.24.6 '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.22.5) '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.22.5) - '@babel/types': 7.24.6 + '@babel/types': 7.24.9 esutils: 2.0.3 - '@babel/preset-modules@0.1.5(@babel/core@7.24.7)': + '@babel/preset-modules@0.1.5(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 '@babel/helper-plugin-utils': 7.24.6 - '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.24.7) - '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.24.7) - '@babel/types': 7.24.6 + '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.24.9) + '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.24.9) + '@babel/types': 7.24.9 esutils: 2.0.3 '@babel/preset-react@7.22.5(@babel/core@7.22.5)': @@ -16190,20 +16789,20 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/preset-typescript@7.22.5(@babel/core@7.24.7)': + '@babel/preset-typescript@7.24.7(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 - '@babel/helper-plugin-utils': 7.24.6 - '@babel/helper-validator-option': 7.22.5 - '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-typescript': 7.22.5(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-validator-option': 7.24.8 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.24.9) + '@babel/plugin-transform-typescript': 7.24.8(@babel/core@7.24.9) transitivePeerDependencies: - supports-color - '@babel/register@7.24.6(@babel/core@7.24.7)': + '@babel/register@7.24.6(@babel/core@7.24.9)': dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 clone-deep: 4.0.1 find-cache-dir: 2.1.0 make-dir: 2.1.0 @@ -16221,6 +16820,10 @@ snapshots: dependencies: regenerator-runtime: 0.14.0 + '@babel/runtime@7.24.8': + dependencies: + regenerator-runtime: 0.14.1 + '@babel/template@7.24.6': dependencies: '@babel/code-frame': 7.24.6 @@ -16230,7 +16833,7 @@ snapshots: '@babel/template@7.24.7': dependencies: '@babel/code-frame': 7.24.7 - '@babel/parser': 7.24.7 + '@babel/parser': 7.24.8 '@babel/types': 7.24.7 '@babel/traverse@7.22.5': @@ -16241,7 +16844,7 @@ snapshots: '@babel/helper-function-name': 7.22.5 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.5 - '@babel/parser': 7.24.7 + '@babel/parser': 7.24.8 '@babel/types': 7.24.6 debug: 4.3.5(supports-color@5.5.0) globals: 11.12.0 @@ -16256,8 +16859,8 @@ snapshots: '@babel/helper-function-name': 7.24.6 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.24.6 - '@babel/parser': 7.24.7 - '@babel/types': 7.24.6 + '@babel/parser': 7.24.8 + '@babel/types': 7.24.9 debug: 4.3.5(supports-color@5.5.0) globals: 11.12.0 transitivePeerDependencies: @@ -16271,13 +16874,28 @@ snapshots: '@babel/helper-function-name': 7.24.7 '@babel/helper-hoist-variables': 7.24.7 '@babel/helper-split-export-declaration': 7.24.7 - '@babel/parser': 7.24.7 + '@babel/parser': 7.24.8 '@babel/types': 7.24.7 debug: 4.3.5(supports-color@5.5.0) globals: 11.12.0 transitivePeerDependencies: - supports-color + '@babel/traverse@7.24.8': + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.24.10 + '@babel/helper-environment-visitor': 7.24.7 + '@babel/helper-function-name': 7.24.7 + '@babel/helper-hoist-variables': 7.24.7 + '@babel/helper-split-export-declaration': 7.24.7 + '@babel/parser': 7.24.8 + '@babel/types': 7.24.9 + debug: 4.3.5(supports-color@5.5.0) + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + '@babel/types@7.24.6': dependencies: '@babel/helper-string-parser': 7.24.6 @@ -16290,6 +16908,12 @@ snapshots: '@babel/helper-validator-identifier': 7.24.7 to-fast-properties: 2.0.0 + '@babel/types@7.24.9': + dependencies: + '@babel/helper-string-parser': 7.24.8 + '@babel/helper-validator-identifier': 7.24.7 + to-fast-properties: 2.0.0 + '@bcoe/v8-coverage@0.2.3': {} '@changesets/apply-release-plan@7.0.4': @@ -16366,7 +16990,7 @@ snapshots: '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 fs-extra: 7.0.1 - micromatch: 4.0.5 + micromatch: 4.0.7 '@changesets/errors@0.2.0': dependencies: @@ -16406,7 +17030,7 @@ snapshots: '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 is-subdir: 1.2.0 - micromatch: 4.0.5 + micromatch: 4.0.7 spawndamnit: 2.0.0 '@changesets/logger@0.1.0': @@ -16464,7 +17088,7 @@ snapshots: eth-json-rpc-filters: 6.0.1 eventemitter3: 5.0.1 keccak: 3.0.4 - preact: 10.22.0 + preact: 10.22.1 sha.js: 2.4.11 transitivePeerDependencies: - supports-color @@ -16475,7 +17099,7 @@ snapshots: clsx: 1.2.1 eventemitter3: 5.0.1 keccak: 3.0.4 - preact: 10.22.0 + preact: 10.22.1 sha.js: 2.4.11 '@cspotcode/source-map-support@0.8.1': @@ -16485,79 +17109,79 @@ snapshots: '@csstools/normalize.css@12.0.0': {} - '@csstools/postcss-cascade-layers@1.1.1(postcss@8.4.33)': + '@csstools/postcss-cascade-layers@1.1.1(postcss@8.4.39)': dependencies: '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.0.13) - postcss: 8.4.33 + postcss: 8.4.39 postcss-selector-parser: 6.0.13 - '@csstools/postcss-color-function@1.1.1(postcss@8.4.33)': + '@csstools/postcss-color-function@1.1.1(postcss@8.4.39)': dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.33) - postcss: 8.4.33 + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.39) + postcss: 8.4.39 postcss-value-parser: 4.2.0 - '@csstools/postcss-font-format-keywords@1.0.1(postcss@8.4.33)': + '@csstools/postcss-font-format-keywords@1.0.1(postcss@8.4.39)': dependencies: - postcss: 8.4.33 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - '@csstools/postcss-hwb-function@1.0.2(postcss@8.4.33)': + '@csstools/postcss-hwb-function@1.0.2(postcss@8.4.39)': dependencies: - postcss: 8.4.33 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - '@csstools/postcss-ic-unit@1.0.1(postcss@8.4.33)': + '@csstools/postcss-ic-unit@1.0.1(postcss@8.4.39)': dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.33) - postcss: 8.4.33 + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.39) + postcss: 8.4.39 postcss-value-parser: 4.2.0 - '@csstools/postcss-is-pseudo-class@2.0.7(postcss@8.4.33)': + '@csstools/postcss-is-pseudo-class@2.0.7(postcss@8.4.39)': dependencies: '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.0.13) - postcss: 8.4.33 + postcss: 8.4.39 postcss-selector-parser: 6.0.13 - '@csstools/postcss-nested-calc@1.0.0(postcss@8.4.33)': + '@csstools/postcss-nested-calc@1.0.0(postcss@8.4.39)': dependencies: - postcss: 8.4.33 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - '@csstools/postcss-normalize-display-values@1.0.1(postcss@8.4.33)': + '@csstools/postcss-normalize-display-values@1.0.1(postcss@8.4.39)': dependencies: - postcss: 8.4.33 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - '@csstools/postcss-oklab-function@1.1.1(postcss@8.4.33)': + '@csstools/postcss-oklab-function@1.1.1(postcss@8.4.39)': dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.33) - postcss: 8.4.33 + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.39) + postcss: 8.4.39 postcss-value-parser: 4.2.0 - '@csstools/postcss-progressive-custom-properties@1.3.0(postcss@8.4.33)': + '@csstools/postcss-progressive-custom-properties@1.3.0(postcss@8.4.39)': dependencies: - postcss: 8.4.33 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - '@csstools/postcss-stepped-value-functions@1.0.1(postcss@8.4.33)': + '@csstools/postcss-stepped-value-functions@1.0.1(postcss@8.4.39)': dependencies: - postcss: 8.4.33 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - '@csstools/postcss-text-decoration-shorthand@1.0.0(postcss@8.4.33)': + '@csstools/postcss-text-decoration-shorthand@1.0.0(postcss@8.4.39)': dependencies: - postcss: 8.4.33 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - '@csstools/postcss-trigonometric-functions@1.0.2(postcss@8.4.33)': + '@csstools/postcss-trigonometric-functions@1.0.2(postcss@8.4.39)': dependencies: - postcss: 8.4.33 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - '@csstools/postcss-unset-value@1.0.2(postcss@8.4.33)': + '@csstools/postcss-unset-value@1.0.2(postcss@8.4.39)': dependencies: - postcss: 8.4.33 + postcss: 8.4.39 '@csstools/selector-specificity@2.2.0(postcss-selector-parser@6.0.13)': dependencies: @@ -16869,12 +17493,12 @@ snapshots: '@ethereumjs/common': 3.2.0 '@ethereumjs/rlp': 4.0.1 '@ethereumjs/util': 8.1.0 - ethereum-cryptography: 2.1.3 + ethereum-cryptography: 2.2.1 '@ethereumjs/util@8.1.0': dependencies: '@ethereumjs/rlp': 4.0.1 - ethereum-cryptography: 2.1.3 + ethereum-cryptography: 2.2.1 micro-ftch: 0.3.1 '@ethereumjs/util@9.0.3': @@ -16890,19 +17514,38 @@ snapshots: '@fastify/busboy@2.1.1': {} - '@fuels/connectors@0.2.2(fuels@packages+fuels)': + '@fuels/connectors@0.8.1(5lexq25fcm75qerxg2bsjhzrs4)': dependencies: + '@ethereumjs/util': 9.0.3 + '@ethersproject/bytes': 5.7.0 + '@wagmi/core': 2.9.1(@tanstack/query-core@5.51.9)(@types/react@18.3.3)(bufferutil@4.0.8)(immer@9.0.21)(react@18.3.1)(typescript@5.4.5)(utf-8-validate@6.0.4)(viem@2.10.2(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.23.8))(zod@3.23.8) + '@web3modal/wagmi': 4.1.11(73l2qhtcqsf4ra65nol4hep56y) fuels: link:packages/fuels + socket.io-client: 4.7.2(bufferutil@4.0.8)(utf-8-validate@6.0.4) + viem: 2.10.2(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.23.8) + transitivePeerDependencies: + - '@tanstack/query-core' + - '@types/react' + - '@wagmi/connectors' + - bufferutil + - immer + - react + - react-dom + - supports-color + - typescript + - utf-8-validate + - vue + - zod - '@fuels/connectors@0.8.1(cjycyhi4hner6hovr2iowxmmxu)': + '@fuels/connectors@0.8.1(k2ud2i2wv46qxwp735fopuoem4)': dependencies: '@ethereumjs/util': 9.0.3 '@ethersproject/bytes': 5.7.0 - '@wagmi/core': 2.9.1(@tanstack/query-core@5.51.1)(@types/react@18.3.3)(bufferutil@4.0.8)(immer@9.0.21)(react@18.3.1)(typescript@5.2.2)(utf-8-validate@6.0.4)(viem@2.10.2(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.22.4))(zod@3.22.4) - '@web3modal/wagmi': 4.1.11(fhmxtqzeb5uqln7w57atmj6tzu) + '@wagmi/core': 2.9.1(@tanstack/query-core@5.51.9)(@types/react@18.3.3)(bufferutil@4.0.8)(immer@9.0.21)(react@18.3.1)(typescript@5.2.2)(utf-8-validate@6.0.4)(viem@2.10.2(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.23.8))(zod@3.23.8) + '@web3modal/wagmi': 4.1.11(kjkpry5vjnz3tbpu352ri327ka) fuels: link:packages/fuels socket.io-client: 4.7.2(bufferutil@4.0.8)(utf-8-validate@6.0.4) - viem: 2.10.2(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.22.4) + viem: 2.10.2(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.23.8) transitivePeerDependencies: - '@tanstack/query-core' - '@types/react' @@ -16917,15 +17560,15 @@ snapshots: - vue - zod - '@fuels/connectors@0.8.1(gzqss7a4va6g6zpnxcim2yt36e)': + '@fuels/connectors@0.8.1(q544yml72pjriuksxyilfzvyhu)': dependencies: '@ethereumjs/util': 9.0.3 '@ethersproject/bytes': 5.7.0 - '@wagmi/core': 2.9.1(@tanstack/query-core@5.51.1)(@types/react@18.3.3)(bufferutil@4.0.8)(immer@9.0.21)(react@18.3.1)(typescript@5.4.5)(utf-8-validate@6.0.4)(viem@2.10.2(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.22.4))(zod@3.22.4) - '@web3modal/wagmi': 4.1.11(ysallm3vwthzbhacxfkokrrei4) + '@wagmi/core': 2.9.1(@tanstack/query-core@5.51.9)(@types/react@18.3.3)(bufferutil@4.0.8)(immer@9.0.21)(react@18.3.1)(typescript@5.2.2)(utf-8-validate@6.0.4)(viem@2.10.2(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.23.8))(zod@3.23.8) + '@web3modal/wagmi': 4.1.11(ahss5cygxkzo3hjc4o7hi4t7pm) fuels: link:packages/fuels socket.io-client: 4.7.2(bufferutil@4.0.8)(utf-8-validate@6.0.4) - viem: 2.10.2(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.22.4) + viem: 2.10.2(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.23.8) transitivePeerDependencies: - '@tanstack/query-core' - '@types/react' @@ -16940,10 +17583,10 @@ snapshots: - vue - zod - '@fuels/react@0.20.0(@tanstack/react-query@5.51.1(react@18.3.1))(@types/react-dom@18.2.4)(@types/react@18.3.3)(fuels@packages+fuels)(react-dom@18.2.0(react@18.3.1))(react@18.3.1)': + '@fuels/react@0.20.0(@tanstack/react-query@5.51.11(react@18.3.1))(@types/react-dom@18.2.4)(@types/react@18.3.3)(fuels@packages+fuels)(react-dom@18.2.0(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/react-dialog': 1.0.5(@types/react-dom@18.2.4)(@types/react@18.3.3)(react-dom@18.2.0(react@18.3.1))(react@18.3.1) - '@tanstack/react-query': 5.51.1(react@18.3.1) + '@tanstack/react-query': 5.51.11(react@18.3.1) events: 3.3.0 fuels: link:packages/fuels react: 18.3.1 @@ -16952,10 +17595,10 @@ snapshots: - '@types/react-dom' - react-dom - '@fuels/react@0.20.0(@tanstack/react-query@5.51.1(react@18.3.1))(@types/react-dom@18.3.0)(@types/react@18.3.3)(fuels@packages+fuels)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@fuels/react@0.20.0(@tanstack/react-query@5.51.11(react@18.3.1))(@types/react-dom@18.3.0)(@types/react@18.3.3)(fuels@packages+fuels)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/react-dialog': 1.0.5(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@tanstack/react-query': 5.51.1(react@18.3.1) + '@tanstack/react-query': 5.51.11(react@18.3.1) events: 3.3.0 fuels: link:packages/fuels react: 18.3.1 @@ -16972,7 +17615,7 @@ snapshots: graphql: 16.9.0 tslib: 2.6.3 - '@graphql-codegen/cli@5.0.2(@parcel/watcher@2.4.1)(@types/node@20.11.13)(bufferutil@4.0.8)(cosmiconfig-toml-loader@1.0.0)(enquirer@2.3.6)(graphql@16.9.0)(typescript@5.4.5)(utf-8-validate@6.0.4)': + '@graphql-codegen/cli@5.0.2(@parcel/watcher@2.4.1)(@types/node@20.14.11)(bufferutil@4.0.8)(cosmiconfig-toml-loader@1.0.0)(enquirer@2.3.6)(graphql@16.9.0)(typescript@5.4.5)(utf-8-validate@6.0.4)': dependencies: '@babel/generator': 7.24.4 '@babel/template': 7.24.6 @@ -16983,12 +17626,12 @@ snapshots: '@graphql-tools/apollo-engine-loader': 8.0.1(graphql@16.9.0) '@graphql-tools/code-file-loader': 8.1.2(graphql@16.9.0) '@graphql-tools/git-loader': 8.0.6(graphql@16.9.0) - '@graphql-tools/github-loader': 8.0.1(@types/node@20.11.13)(graphql@16.9.0) + '@graphql-tools/github-loader': 8.0.1(@types/node@20.14.11)(graphql@16.9.0) '@graphql-tools/graphql-file-loader': 8.0.1(graphql@16.9.0) '@graphql-tools/json-file-loader': 8.0.1(graphql@16.9.0) '@graphql-tools/load': 8.0.2(graphql@16.9.0) - '@graphql-tools/prisma-loader': 8.0.4(@types/node@20.11.13)(bufferutil@4.0.8)(graphql@16.9.0)(utf-8-validate@6.0.4) - '@graphql-tools/url-loader': 8.0.2(@types/node@20.11.13)(bufferutil@4.0.8)(graphql@16.9.0)(utf-8-validate@6.0.4) + '@graphql-tools/prisma-loader': 8.0.4(@types/node@20.14.11)(bufferutil@4.0.8)(graphql@16.9.0)(utf-8-validate@6.0.4) + '@graphql-tools/url-loader': 8.0.2(@types/node@20.14.11)(bufferutil@4.0.8)(graphql@16.9.0)(utf-8-validate@6.0.4) '@graphql-tools/utils': 10.2.2(graphql@16.9.0) '@whatwg-node/fetch': 0.8.8 chalk: 4.1.2 @@ -16996,7 +17639,7 @@ snapshots: debounce: 1.2.1 detect-indent: 6.1.0 graphql: 16.9.0 - graphql-config: 5.0.3(@types/node@20.11.13)(bufferutil@4.0.8)(cosmiconfig-toml-loader@1.0.0)(graphql@16.9.0)(typescript@5.4.5)(utf-8-validate@6.0.4) + graphql-config: 5.0.3(@types/node@20.14.11)(bufferutil@4.0.8)(cosmiconfig-toml-loader@1.0.0)(graphql@16.9.0)(typescript@5.4.5)(utf-8-validate@6.0.4) inquirer: 8.2.5 is-glob: 4.0.3 jiti: 1.21.0 @@ -17037,7 +17680,7 @@ snapshots: '@graphql-tools/utils': 10.2.2(graphql@16.9.0) '@graphql-typed-document-node/core': 3.2.0(graphql@16.9.0) graphql: 16.9.0 - tslib: 2.6.0 + tslib: 2.6.3 transitivePeerDependencies: - encoding - supports-color @@ -17048,7 +17691,7 @@ snapshots: '@graphql-tools/schema': 10.0.4(graphql@16.9.0) '@graphql-tools/utils': 10.2.2(graphql@16.9.0) graphql: 16.9.0 - tslib: 2.6.0 + tslib: 2.6.3 '@graphql-codegen/gql-tag-operations@4.0.7(graphql@16.9.0)': dependencies: @@ -17090,14 +17733,14 @@ snapshots: graphql: 16.9.0 import-from: 4.0.0 lodash: 4.17.21 - tslib: 2.6.0 + tslib: 2.6.3 '@graphql-codegen/schema-ast@4.0.2(graphql@16.9.0)': dependencies: '@graphql-codegen/plugin-helpers': 5.0.4(graphql@16.9.0) '@graphql-tools/utils': 10.2.2(graphql@16.9.0) graphql: 16.9.0 - tslib: 2.6.0 + tslib: 2.6.3 '@graphql-codegen/typed-document-node@5.0.7(graphql@16.9.0)': dependencies: @@ -17193,7 +17836,7 @@ snapshots: graphql: 16.9.0 graphql-tag: 2.12.6(graphql@16.9.0) parse-filepath: 1.0.2 - tslib: 2.6.0 + tslib: 2.6.3 transitivePeerDependencies: - encoding - supports-color @@ -17204,7 +17847,7 @@ snapshots: '@graphql-tools/utils': 10.2.2(graphql@16.9.0) '@whatwg-node/fetch': 0.9.18 graphql: 16.9.0 - tslib: 2.6.0 + tslib: 2.6.3 transitivePeerDependencies: - encoding @@ -17222,7 +17865,7 @@ snapshots: '@graphql-tools/utils': 10.2.2(graphql@16.9.0) globby: 11.1.0 graphql: 16.9.0 - tslib: 2.6.0 + tslib: 2.6.3 unixify: 1.0.0 transitivePeerDependencies: - supports-color @@ -17256,14 +17899,14 @@ snapshots: - bufferutil - utf-8-validate - '@graphql-tools/executor-http@1.0.9(@types/node@20.11.13)(graphql@16.9.0)': + '@graphql-tools/executor-http@1.0.9(@types/node@20.14.11)(graphql@16.9.0)': dependencies: '@graphql-tools/utils': 10.2.2(graphql@16.9.0) '@repeaterjs/repeater': 3.0.4 '@whatwg-node/fetch': 0.9.18 extract-files: 11.0.0 graphql: 16.9.0 - meros: 1.3.0(@types/node@20.11.13) + meros: 1.3.0(@types/node@20.14.11) tslib: 2.6.3 value-or-promise: 1.0.12 transitivePeerDependencies: @@ -17296,21 +17939,21 @@ snapshots: '@graphql-tools/utils': 10.2.2(graphql@16.9.0) graphql: 16.9.0 is-glob: 4.0.3 - micromatch: 4.0.5 - tslib: 2.6.0 + micromatch: 4.0.7 + tslib: 2.6.3 unixify: 1.0.0 transitivePeerDependencies: - supports-color - '@graphql-tools/github-loader@8.0.1(@types/node@20.11.13)(graphql@16.9.0)': + '@graphql-tools/github-loader@8.0.1(@types/node@20.14.11)(graphql@16.9.0)': dependencies: '@ardatan/sync-fetch': 0.0.1 - '@graphql-tools/executor-http': 1.0.9(@types/node@20.11.13)(graphql@16.9.0) + '@graphql-tools/executor-http': 1.0.9(@types/node@20.14.11)(graphql@16.9.0) '@graphql-tools/graphql-tag-pluck': 8.3.1(graphql@16.9.0) '@graphql-tools/utils': 10.2.2(graphql@16.9.0) '@whatwg-node/fetch': 0.9.18 graphql: 16.9.0 - tslib: 2.6.0 + tslib: 2.6.3 value-or-promise: 1.0.12 transitivePeerDependencies: - '@types/node' @@ -17323,13 +17966,13 @@ snapshots: '@graphql-tools/utils': 10.2.2(graphql@16.9.0) globby: 11.1.0 graphql: 16.9.0 - tslib: 2.6.0 + tslib: 2.6.3 unixify: 1.0.0 '@graphql-tools/graphql-tag-pluck@8.3.1(graphql@16.9.0)': dependencies: '@babel/core': 7.24.4 - '@babel/parser': 7.24.7 + '@babel/parser': 7.24.8 '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.24.4) '@babel/traverse': 7.24.1 '@babel/types': 7.24.6 @@ -17351,7 +17994,7 @@ snapshots: '@graphql-tools/utils': 10.2.2(graphql@16.9.0) globby: 11.1.0 graphql: 16.9.0 - tslib: 2.6.0 + tslib: 2.6.3 unixify: 1.0.0 '@graphql-tools/load@8.0.2(graphql@16.9.0)': @@ -17360,7 +18003,7 @@ snapshots: '@graphql-tools/utils': 10.2.2(graphql@16.9.0) graphql: 16.9.0 p-limit: 3.1.0 - tslib: 2.6.0 + tslib: 2.6.3 '@graphql-tools/merge@9.0.4(graphql@16.9.0)': dependencies: @@ -17371,16 +18014,16 @@ snapshots: '@graphql-tools/optimize@1.4.0(graphql@16.9.0)': dependencies: graphql: 16.9.0 - tslib: 2.6.3 + tslib: 2.6.0 '@graphql-tools/optimize@2.0.0(graphql@16.9.0)': dependencies: graphql: 16.9.0 tslib: 2.6.3 - '@graphql-tools/prisma-loader@8.0.4(@types/node@20.11.13)(bufferutil@4.0.8)(graphql@16.9.0)(utf-8-validate@6.0.4)': + '@graphql-tools/prisma-loader@8.0.4(@types/node@20.14.11)(bufferutil@4.0.8)(graphql@16.9.0)(utf-8-validate@6.0.4)': dependencies: - '@graphql-tools/url-loader': 8.0.2(@types/node@20.11.13)(bufferutil@4.0.8)(graphql@16.9.0)(utf-8-validate@6.0.4) + '@graphql-tools/url-loader': 8.0.2(@types/node@20.14.11)(bufferutil@4.0.8)(graphql@16.9.0)(utf-8-validate@6.0.4) '@graphql-tools/utils': 10.2.2(graphql@16.9.0) '@types/js-yaml': 4.0.5 '@whatwg-node/fetch': 0.9.18 @@ -17395,7 +18038,7 @@ snapshots: js-yaml: 4.1.0 lodash: 4.17.21 scuid: 1.1.0 - tslib: 2.6.0 + tslib: 2.6.3 yaml-ast-parser: 0.0.43 transitivePeerDependencies: - '@types/node' @@ -17409,7 +18052,7 @@ snapshots: '@ardatan/relay-compiler': 12.0.0(graphql@16.9.0) '@graphql-tools/utils': 9.2.1(graphql@16.9.0) graphql: 16.9.0 - tslib: 2.6.3 + tslib: 2.6.0 transitivePeerDependencies: - encoding - supports-color @@ -17432,12 +18075,12 @@ snapshots: tslib: 2.6.3 value-or-promise: 1.0.12 - '@graphql-tools/url-loader@8.0.2(@types/node@20.11.13)(bufferutil@4.0.8)(graphql@16.9.0)(utf-8-validate@6.0.4)': + '@graphql-tools/url-loader@8.0.2(@types/node@20.14.11)(bufferutil@4.0.8)(graphql@16.9.0)(utf-8-validate@6.0.4)': dependencies: '@ardatan/sync-fetch': 0.0.1 '@graphql-tools/delegate': 10.0.11(graphql@16.9.0) '@graphql-tools/executor-graphql-ws': 1.1.2(bufferutil@4.0.8)(graphql@16.9.0)(utf-8-validate@6.0.4) - '@graphql-tools/executor-http': 1.0.9(@types/node@20.11.13)(graphql@16.9.0) + '@graphql-tools/executor-http': 1.0.9(@types/node@20.14.11)(graphql@16.9.0) '@graphql-tools/executor-legacy-ws': 1.0.6(bufferutil@4.0.8)(graphql@16.9.0)(utf-8-validate@6.0.4) '@graphql-tools/utils': 10.2.2(graphql@16.9.0) '@graphql-tools/wrap': 10.0.5(graphql@16.9.0) @@ -17445,7 +18088,7 @@ snapshots: '@whatwg-node/fetch': 0.9.18 graphql: 16.9.0 isomorphic-ws: 5.0.0(ws@8.17.1(bufferutil@4.0.8)(utf-8-validate@6.0.4)) - tslib: 2.6.0 + tslib: 2.6.3 value-or-promise: 1.0.12 ws: 8.17.1(bufferutil@4.0.8)(utf-8-validate@6.0.4) transitivePeerDependencies: @@ -17460,18 +18103,18 @@ snapshots: cross-inspect: 1.0.0 dset: 3.1.2 graphql: 16.9.0 - tslib: 2.6.0 + tslib: 2.6.3 '@graphql-tools/utils@8.13.1(graphql@16.9.0)': dependencies: graphql: 16.9.0 - tslib: 2.6.3 + tslib: 2.6.0 '@graphql-tools/utils@9.2.1(graphql@16.9.0)': dependencies: '@graphql-typed-document-node/core': 3.2.0(graphql@16.9.0) graphql: 16.9.0 - tslib: 2.6.3 + tslib: 2.6.0 '@graphql-tools/wrap@10.0.5(graphql@16.9.0)': dependencies: @@ -17545,7 +18188,7 @@ snapshots: '@jest/console@27.5.1': dependencies: '@jest/types': 27.5.1 - '@types/node': 20.11.13 + '@types/node': 20.14.11 chalk: 4.1.2 jest-message-util: 27.5.1 jest-util: 27.5.1 @@ -17554,27 +18197,27 @@ snapshots: '@jest/console@28.1.3': dependencies: '@jest/types': 28.1.3 - '@types/node': 20.11.13 + '@types/node': 20.14.11 chalk: 4.1.2 jest-message-util: 28.1.3 jest-util: 28.1.3 slash: 3.0.0 - '@jest/core@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.34)(typescript@5.4.5))(utf-8-validate@6.0.4)': + '@jest/core@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@20.14.11)(typescript@5.4.5))(utf-8-validate@6.0.4)': dependencies: '@jest/console': 27.5.1 '@jest/reporters': 27.5.1 '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.11.13 + '@types/node': 20.14.11 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.8.1 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 27.5.1 - jest-config: 27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.34)(typescript@5.4.5))(utf-8-validate@6.0.4) + jest-config: 27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@20.14.11)(typescript@5.4.5))(utf-8-validate@6.0.4) jest-haste-map: 27.5.1 jest-message-util: 27.5.1 jest-regex-util: 27.5.1 @@ -17586,7 +18229,7 @@ snapshots: jest-util: 27.5.1 jest-validate: 27.5.1 jest-watcher: 27.5.1 - micromatch: 4.0.5 + micromatch: 4.0.7 rimraf: 3.0.2 slash: 3.0.0 strip-ansi: 6.0.1 @@ -17605,14 +18248,14 @@ snapshots: dependencies: '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.11.13 + '@types/node': 20.14.11 jest-mock: 27.5.1 '@jest/environment@29.7.0': dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.11.13 + '@types/node': 20.14.11 jest-mock: 29.7.0 '@jest/expect-utils@29.5.0': @@ -17623,7 +18266,7 @@ snapshots: dependencies: '@jest/types': 27.5.1 '@sinonjs/fake-timers': 8.1.0 - '@types/node': 20.11.13 + '@types/node': 20.14.11 jest-message-util: 27.5.1 jest-mock: 27.5.1 jest-util: 27.5.1 @@ -17632,7 +18275,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 20.11.13 + '@types/node': 20.14.11 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -17650,7 +18293,7 @@ snapshots: '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.11.13 + '@types/node': 20.14.11 chalk: 4.1.2 collect-v8-coverage: 1.0.1 exit: 0.1.2 @@ -17722,7 +18365,7 @@ snapshots: jest-haste-map: 27.5.1 jest-regex-util: 27.5.1 jest-util: 27.5.1 - micromatch: 4.0.5 + micromatch: 4.0.7 pirates: 4.0.6 slash: 3.0.0 source-map: 0.6.1 @@ -17732,9 +18375,9 @@ snapshots: '@jest/types@26.6.2': dependencies: - '@types/istanbul-lib-coverage': 2.0.4 - '@types/istanbul-reports': 3.0.1 - '@types/node': 20.11.13 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 20.14.11 '@types/yargs': 15.0.19 chalk: 4.1.2 @@ -17742,7 +18385,7 @@ snapshots: dependencies: '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 20.11.13 + '@types/node': 20.14.11 '@types/yargs': 16.0.5 chalk: 4.1.2 @@ -17751,7 +18394,7 @@ snapshots: '@jest/schemas': 28.1.3 '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 20.11.13 + '@types/node': 20.14.11 '@types/yargs': 17.0.24 chalk: 4.1.2 @@ -17760,29 +18403,32 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 20.11.13 + '@types/node': 20.14.11 '@types/yargs': 17.0.24 chalk: 4.1.2 '@jest/types@29.6.3': dependencies: '@jest/schemas': 29.6.3 - '@types/istanbul-lib-coverage': 2.0.4 - '@types/istanbul-reports': 3.0.1 - '@types/node': 20.11.13 - '@types/yargs': 17.0.24 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 20.14.11 + '@types/yargs': 17.0.32 chalk: 4.1.2 '@jridgewell/gen-mapping@0.3.5': dependencies: '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/sourcemap-codec': 1.5.0 '@jridgewell/trace-mapping': 0.3.25 '@jridgewell/resolve-uri@3.1.0': {} '@jridgewell/resolve-uri@3.1.1': {} + '@jridgewell/resolve-uri@3.1.2': + optional: true + '@jridgewell/set-array@1.2.1': {} '@jridgewell/source-map@0.3.3': @@ -17790,10 +18436,17 @@ snapshots: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 + '@jridgewell/source-map@0.3.6': + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + '@jridgewell/sourcemap-codec@1.4.14': {} '@jridgewell/sourcemap-codec@1.4.15': {} + '@jridgewell/sourcemap-codec@1.5.0': {} + '@jridgewell/trace-mapping@0.3.18': dependencies: '@jridgewell/resolve-uri': 3.1.0 @@ -17802,12 +18455,12 @@ snapshots: '@jridgewell/trace-mapping@0.3.25': dependencies: '@jridgewell/resolve-uri': 3.1.1 - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/sourcemap-codec': 1.5.0 '@jridgewell/trace-mapping@0.3.9': dependencies: - '@jridgewell/resolve-uri': 3.1.1 - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 optional: true '@jsonjoy.com/base64@1.1.2(tslib@2.6.0)': @@ -17866,9 +18519,9 @@ snapshots: '@metamask/json-rpc-engine@7.3.3': dependencies: - '@metamask/rpc-errors': 6.2.1 + '@metamask/rpc-errors': 6.3.1 '@metamask/safe-event-emitter': 3.1.1 - '@metamask/utils': 8.4.0 + '@metamask/utils': 8.5.0 transitivePeerDependencies: - supports-color @@ -17876,7 +18529,7 @@ snapshots: dependencies: '@metamask/json-rpc-engine': 7.3.3 '@metamask/safe-event-emitter': 3.1.1 - '@metamask/utils': 8.4.0 + '@metamask/utils': 8.5.0 readable-stream: 3.6.2 transitivePeerDependencies: - supports-color @@ -17895,9 +18548,9 @@ snapshots: '@metamask/json-rpc-engine': 7.3.3 '@metamask/json-rpc-middleware-stream': 6.0.2 '@metamask/object-multiplex': 2.0.0 - '@metamask/rpc-errors': 6.2.1 + '@metamask/rpc-errors': 6.3.1 '@metamask/safe-event-emitter': 3.1.1 - '@metamask/utils': 8.4.0 + '@metamask/utils': 8.5.0 detect-browser: 5.3.0 extension-port-stream: 3.0.0 fast-deep-equal: 3.1.3 @@ -17907,9 +18560,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@metamask/rpc-errors@6.2.1': + '@metamask/rpc-errors@6.3.1': dependencies: - '@metamask/utils': 8.4.0 + '@metamask/utils': 9.1.0 fast-safe-stringify: 2.1.1 transitivePeerDependencies: - supports-color @@ -17918,13 +18571,13 @@ snapshots: '@metamask/safe-event-emitter@3.1.1': {} - '@metamask/sdk-communication-layer@0.20.2(cross-fetch@4.0.0)(eciesjs@0.3.18)(eventemitter2@6.4.9)(readable-stream@3.6.2)(socket.io-client@4.7.5(bufferutil@4.0.8)(utf-8-validate@6.0.4))': + '@metamask/sdk-communication-layer@0.20.2(cross-fetch@4.0.0)(eciesjs@0.3.19)(eventemitter2@6.4.9)(readable-stream@3.6.2)(socket.io-client@4.7.5(bufferutil@4.0.8)(utf-8-validate@6.0.4))': dependencies: bufferutil: 4.0.8 cross-fetch: 4.0.0 date-fns: 2.30.0 debug: 4.3.5(supports-color@5.5.0) - eciesjs: 0.3.18 + eciesjs: 0.3.19 eventemitter2: 6.4.9 readable-stream: 3.6.2 socket.io-client: 4.7.5(bufferutil@4.0.8)(utf-8-validate@6.0.4) @@ -17933,27 +18586,37 @@ snapshots: transitivePeerDependencies: - supports-color - '@metamask/sdk-install-modal-web@0.20.2(i18next@22.5.1)(react-dom@18.3.1(react@18.3.1))(react-i18next@13.5.0(i18next@22.5.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1)': + '@metamask/sdk-install-modal-web@0.20.2(i18next@22.5.1)(react-dom@18.2.0(react@18.3.1))(react-i18next@13.5.0(i18next@22.5.1)(react-dom@18.2.0(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1)': + dependencies: + i18next: 22.5.1 + qr-code-styling: 1.6.0-rc.1 + react-i18next: 13.5.0(i18next@22.5.1)(react-dom@18.2.0(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1) + optionalDependencies: + react: 18.3.1 + react-dom: 18.2.0(react@18.3.1) + react-native: 0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4) + + '@metamask/sdk-install-modal-web@0.20.2(i18next@22.5.1)(react-dom@18.3.1(react@18.3.1))(react-i18next@13.5.0(i18next@22.5.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1)': dependencies: i18next: 22.5.1 qr-code-styling: 1.6.0-rc.1 - react-i18next: 13.5.0(i18next@22.5.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1) + react-i18next: 13.5.0(i18next@22.5.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1) optionalDependencies: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-native: 0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4) + react-native: 0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4) - '@metamask/sdk@0.20.3(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-i18next@13.5.0(i18next@22.5.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1)(rollup@4.16.4)(utf-8-validate@6.0.4)': + '@metamask/sdk@0.20.3(bufferutil@4.0.8)(react-dom@18.2.0(react@18.3.1))(react-i18next@13.5.0(i18next@22.5.1)(react-dom@18.2.0(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1)(rollup@4.19.0)(utf-8-validate@6.0.4)': dependencies: '@metamask/onboarding': 1.0.1 '@metamask/providers': 15.0.0 - '@metamask/sdk-communication-layer': 0.20.2(cross-fetch@4.0.0)(eciesjs@0.3.18)(eventemitter2@6.4.9)(readable-stream@3.6.2)(socket.io-client@4.7.5(bufferutil@4.0.8)(utf-8-validate@6.0.4)) - '@metamask/sdk-install-modal-web': 0.20.2(i18next@22.5.1)(react-dom@18.3.1(react@18.3.1))(react-i18next@13.5.0(i18next@22.5.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1) + '@metamask/sdk-communication-layer': 0.20.2(cross-fetch@4.0.0)(eciesjs@0.3.19)(eventemitter2@6.4.9)(readable-stream@3.6.2)(socket.io-client@4.7.5(bufferutil@4.0.8)(utf-8-validate@6.0.4)) + '@metamask/sdk-install-modal-web': 0.20.2(i18next@22.5.1)(react-dom@18.2.0(react@18.3.1))(react-i18next@13.5.0(i18next@22.5.1)(react-dom@18.2.0(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1) '@types/dom-screen-wake-lock': 1.0.3 bowser: 2.11.0 cross-fetch: 4.0.0 debug: 4.3.5(supports-color@5.5.0) - eciesjs: 0.3.18 + eciesjs: 0.3.19 eth-rpc-errors: 4.0.3 eventemitter2: 6.4.9 i18next: 22.5.1 @@ -17961,9 +18624,45 @@ snapshots: obj-multiplex: 1.0.0 pump: 3.0.0 qrcode-terminal-nooctal: 0.12.1 - react-native-webview: 11.26.1(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1) + react-native-webview: 11.26.1(react-native@0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1) readable-stream: 3.6.2 - rollup-plugin-visualizer: 5.12.0(rollup@4.16.4) + rollup-plugin-visualizer: 5.12.0(rollup@4.19.0) + socket.io-client: 4.7.5(bufferutil@4.0.8)(utf-8-validate@6.0.4) + util: 0.12.5 + uuid: 8.3.2 + optionalDependencies: + react: 18.3.1 + react-dom: 18.2.0(react@18.3.1) + transitivePeerDependencies: + - bufferutil + - encoding + - react-i18next + - react-native + - rollup + - supports-color + - utf-8-validate + + '@metamask/sdk@0.20.3(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-i18next@13.5.0(i18next@22.5.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1)(rollup@4.19.0)(utf-8-validate@6.0.4)': + dependencies: + '@metamask/onboarding': 1.0.1 + '@metamask/providers': 15.0.0 + '@metamask/sdk-communication-layer': 0.20.2(cross-fetch@4.0.0)(eciesjs@0.3.19)(eventemitter2@6.4.9)(readable-stream@3.6.2)(socket.io-client@4.7.5(bufferutil@4.0.8)(utf-8-validate@6.0.4)) + '@metamask/sdk-install-modal-web': 0.20.2(i18next@22.5.1)(react-dom@18.3.1(react@18.3.1))(react-i18next@13.5.0(i18next@22.5.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1) + '@types/dom-screen-wake-lock': 1.0.3 + bowser: 2.11.0 + cross-fetch: 4.0.0 + debug: 4.3.5(supports-color@5.5.0) + eciesjs: 0.3.19 + eth-rpc-errors: 4.0.3 + eventemitter2: 6.4.9 + i18next: 22.5.1 + i18next-browser-languagedetector: 7.1.0 + obj-multiplex: 1.0.0 + pump: 3.0.0 + qrcode-terminal-nooctal: 0.12.1 + react-native-webview: 11.26.1(react-native@0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1) + readable-stream: 3.6.2 + rollup-plugin-visualizer: 5.12.0(rollup@4.19.0) socket.io-client: 4.7.5(bufferutil@4.0.8)(utf-8-validate@6.0.4) util: 0.12.5 uuid: 8.3.2 @@ -17979,26 +18678,42 @@ snapshots: - supports-color - utf-8-validate + '@metamask/superstruct@3.1.0': {} + '@metamask/utils@5.0.2': dependencies: '@ethereumjs/tx': 4.2.0 '@types/debug': 4.1.12 debug: 4.3.5(supports-color@5.5.0) - semver: 7.5.4 + semver: 7.6.3 superstruct: 1.0.4 transitivePeerDependencies: - supports-color - '@metamask/utils@8.4.0': + '@metamask/utils@8.5.0': dependencies: '@ethereumjs/tx': 4.2.0 + '@metamask/superstruct': 3.1.0 '@noble/hashes': 1.4.0 - '@scure/base': 1.1.6 + '@scure/base': 1.1.7 '@types/debug': 4.1.12 debug: 4.3.5(supports-color@5.5.0) pony-cause: 2.1.11 - semver: 7.5.4 - superstruct: 1.0.4 + semver: 7.6.3 + uuid: 9.0.1 + transitivePeerDependencies: + - supports-color + + '@metamask/utils@9.1.0': + dependencies: + '@ethereumjs/tx': 4.2.0 + '@metamask/superstruct': 3.1.0 + '@noble/hashes': 1.4.0 + '@scure/base': 1.1.7 + '@types/debug': 4.1.12 + debug: 4.3.5(supports-color@5.5.0) + pony-cause: 2.1.11 + semver: 7.6.3 uuid: 9.0.1 transitivePeerDependencies: - supports-color @@ -18177,7 +18892,7 @@ snapshots: '@nodelib/fs.walk@1.2.8': dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 + fastq: 1.17.1 '@octokit/auth-token@4.0.0': {} @@ -18285,7 +19000,7 @@ snapshots: '@parcel/watcher-wasm@2.4.1': dependencies: is-glob: 4.0.3 - micromatch: 4.0.5 + micromatch: 4.0.7 '@parcel/watcher-win32-arm64@2.4.1': optional: true @@ -18300,8 +19015,8 @@ snapshots: dependencies: detect-libc: 1.0.3 is-glob: 4.0.3 - micromatch: 4.0.5 - node-addon-api: 7.1.0 + micromatch: 4.0.7 + node-addon-api: 7.1.1 optionalDependencies: '@parcel/watcher-android-arm64': 2.4.1 '@parcel/watcher-darwin-arm64': 2.4.1 @@ -18320,18 +19035,18 @@ snapshots: dependencies: asn1js: 3.0.5 pvtsutils: 1.3.2 - tslib: 2.6.3 + tslib: 2.6.0 '@peculiar/json-schema@1.1.12': dependencies: - tslib: 2.6.3 + tslib: 2.6.0 '@peculiar/webcrypto@1.4.3': dependencies: '@peculiar/asn1-schema': 2.3.6 '@peculiar/json-schema': 1.1.12 pvtsutils: 1.3.2 - tslib: 2.6.3 + tslib: 2.6.0 webcrypto-core: 1.7.7 '@pkgjs/parseargs@0.11.0': @@ -18339,9 +19054,9 @@ snapshots: '@pkgr/core@0.1.1': {} - '@playwright/test@1.45.1': + '@playwright/test@1.45.3': dependencies: - playwright: 1.45.1 + playwright: 1.45.3 '@pmmmwh/react-refresh-webpack-plugin@0.5.10(react-refresh@0.11.0)(type-fest@3.1.0)(webpack-dev-server@4.15.1(bufferutil@4.0.8)(utf-8-validate@6.0.4)(webpack@5.88.0(esbuild@0.17.19)))(webpack@5.88.0(esbuild@0.17.19))': dependencies: @@ -18591,7 +19306,7 @@ snapshots: '@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.3.3)(react@18.3.1)': dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.24.8 react: 18.3.1 optionalDependencies: '@types/react': 18.3.3 @@ -18606,7 +19321,7 @@ snapshots: '@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.3.3)(react@18.3.1)': dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.24.8 '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.3.3)(react@18.3.1) react: 18.3.1 optionalDependencies: @@ -18614,7 +19329,7 @@ snapshots: '@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.3.3)(react@18.3.1)': dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.24.8 react: 18.3.1 optionalDependencies: '@types/react': 18.3.3 @@ -18635,7 +19350,7 @@ snapshots: cosmiconfig: 5.2.1 deepmerge: 4.3.1 fast-glob: 3.3.2 - joi: 17.13.1 + joi: 17.13.3 transitivePeerDependencies: - encoding @@ -18660,7 +19375,7 @@ snapshots: hermes-profile-transformer: 0.0.6 node-stream-zip: 1.15.0 ora: 5.4.1 - semver: 7.5.4 + semver: 7.6.3 strip-ansi: 5.2.0 wcwidth: 1.0.1 yaml: 2.4.5 @@ -18714,7 +19429,7 @@ snapshots: nocache: 3.0.4 pretty-format: 26.6.2 serve-static: 1.15.0 - ws: 6.2.2(bufferutil@4.0.8)(utf-8-validate@6.0.4) + ws: 6.2.3(bufferutil@4.0.8)(utf-8-validate@6.0.4) transitivePeerDependencies: - bufferutil - encoding @@ -18731,7 +19446,7 @@ snapshots: node-fetch: 2.7.0 open: 6.4.0 ora: 5.4.1 - semver: 7.5.4 + semver: 7.6.3 shell-quote: 1.8.1 sudo-prompt: 9.2.1 transitivePeerDependencies: @@ -18739,7 +19454,7 @@ snapshots: '@react-native-community/cli-types@13.6.6': dependencies: - joi: 17.13.1 + joi: 17.13.3 '@react-native-community/cli@13.6.6(bufferutil@4.0.8)(utf-8-validate@6.0.4)': dependencies: @@ -18752,14 +19467,14 @@ snapshots: '@react-native-community/cli-tools': 13.6.6 '@react-native-community/cli-types': 13.6.6 chalk: 4.1.2 - commander: 9.4.1 + commander: 9.5.0 deepmerge: 4.3.1 execa: 5.1.1 find-up: 4.1.0 fs-extra: 8.1.0 graceful-fs: 4.2.11 prompts: 2.4.2 - semver: 7.5.4 + semver: 7.6.3 transitivePeerDependencies: - bufferutil - encoding @@ -18768,81 +19483,81 @@ snapshots: '@react-native/assets-registry@0.74.83': {} - '@react-native/babel-plugin-codegen@0.74.83(@babel/preset-env@7.22.5(@babel/core@7.24.7))': + '@react-native/babel-plugin-codegen@0.74.83(@babel/preset-env@7.22.5(@babel/core@7.24.9))': dependencies: - '@react-native/codegen': 0.74.83(@babel/preset-env@7.22.5(@babel/core@7.24.7)) + '@react-native/codegen': 0.74.83(@babel/preset-env@7.22.5(@babel/core@7.24.9)) transitivePeerDependencies: - '@babel/preset-env' - supports-color - '@react-native/babel-preset@0.74.83(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))': - dependencies: - '@babel/core': 7.24.7 - '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.24.7) - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.7) - '@babel/plugin-proposal-export-default-from': 7.24.6(@babel/core@7.24.7) - '@babel/plugin-proposal-logical-assignment-operators': 7.20.7(@babel/core@7.24.7) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.24.7) - '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.24.7) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.24.7) - '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.24.7) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.24.7) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-export-default-from': 7.24.6(@babel/core@7.24.7) - '@babel/plugin-syntax-flow': 7.24.6(@babel/core@7.24.7) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.7) - '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-block-scoping': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-classes': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-destructuring': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-flow-strip-types': 7.24.6(@babel/core@7.24.7) - '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-parameters': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-private-methods': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-private-property-in-object': 7.24.6(@babel/core@7.24.7) - '@babel/plugin-transform-react-display-name': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.7) - '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.24.7) - '@babel/plugin-transform-react-jsx-source': 7.24.1(@babel/core@7.24.7) - '@babel/plugin-transform-runtime': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-typescript': 7.22.5(@babel/core@7.24.7) - '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.24.7) + '@react-native/babel-preset@0.74.83(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))': + dependencies: + '@babel/core': 7.24.9 + '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.24.9) + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.9) + '@babel/plugin-proposal-export-default-from': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-proposal-logical-assignment-operators': 7.20.7(@babel/core@7.24.9) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.24.9) + '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.24.9) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.24.9) + '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.24.9) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.24.9) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-syntax-export-default-from': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-syntax-flow': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.9) + '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-async-to-generator': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-block-scoping': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-classes': 7.24.8(@babel/core@7.24.9) + '@babel/plugin-transform-computed-properties': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-destructuring': 7.24.8(@babel/core@7.24.9) + '@babel/plugin-transform-flow-strip-types': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-function-name': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-literals': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.24.9) + '@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-private-methods': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-react-display-name': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-react-jsx': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-runtime': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-spread': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-sticky-regex': 7.24.7(@babel/core@7.24.9) + '@babel/plugin-transform-typescript': 7.24.8(@babel/core@7.24.9) + '@babel/plugin-transform-unicode-regex': 7.24.7(@babel/core@7.24.9) '@babel/template': 7.24.7 - '@react-native/babel-plugin-codegen': 0.74.83(@babel/preset-env@7.22.5(@babel/core@7.24.7)) - babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.24.7) + '@react-native/babel-plugin-codegen': 0.74.83(@babel/preset-env@7.22.5(@babel/core@7.24.9)) + babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.24.9) react-refresh: 0.14.2 transitivePeerDependencies: - '@babel/preset-env' - supports-color - '@react-native/codegen@0.74.83(@babel/preset-env@7.22.5(@babel/core@7.24.7))': + '@react-native/codegen@0.74.83(@babel/preset-env@7.22.5(@babel/core@7.24.9))': dependencies: - '@babel/parser': 7.24.7 - '@babel/preset-env': 7.22.5(@babel/core@7.24.7) + '@babel/parser': 7.24.8 + '@babel/preset-env': 7.22.5(@babel/core@7.24.9) glob: 7.2.3 hermes-parser: 0.19.1 invariant: 2.2.4 - jscodeshift: 0.14.0(@babel/preset-env@7.22.5(@babel/core@7.24.7)) + jscodeshift: 0.14.0(@babel/preset-env@7.22.5(@babel/core@7.24.9)) mkdirp: 0.5.6 nullthrows: 1.1.1 transitivePeerDependencies: - supports-color - '@react-native/community-cli-plugin@0.74.83(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(bufferutil@4.0.8)(utf-8-validate@6.0.4)': + '@react-native/community-cli-plugin@0.74.83(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(bufferutil@4.0.8)(utf-8-validate@6.0.4)': dependencies: '@react-native-community/cli-server-api': 13.6.6(bufferutil@4.0.8)(utf-8-validate@6.0.4) '@react-native-community/cli-tools': 13.6.6 '@react-native/dev-middleware': 0.74.83(bufferutil@4.0.8)(utf-8-validate@6.0.4) - '@react-native/metro-babel-transformer': 0.74.83(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7)) + '@react-native/metro-babel-transformer': 0.74.83(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9)) chalk: 4.1.2 execa: 5.1.1 metro: 0.80.9(bufferutil@4.0.8)(utf-8-validate@6.0.4) @@ -18875,7 +19590,7 @@ snapshots: selfsigned: 2.4.1 serve-static: 1.15.0 temp-dir: 2.0.0 - ws: 6.2.2(bufferutil@4.0.8)(utf-8-validate@6.0.4) + ws: 6.2.3(bufferutil@4.0.8)(utf-8-validate@6.0.4) transitivePeerDependencies: - bufferutil - encoding @@ -18886,10 +19601,10 @@ snapshots: '@react-native/js-polyfills@0.74.83': {} - '@react-native/metro-babel-transformer@0.74.83(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))': + '@react-native/metro-babel-transformer@0.74.83(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))': dependencies: - '@babel/core': 7.24.7 - '@react-native/babel-preset': 0.74.83(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7)) + '@babel/core': 7.24.9 + '@react-native/babel-preset': 0.74.83(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9)) hermes-parser: 0.19.1 nullthrows: 1.1.1 transitivePeerDependencies: @@ -18898,12 +19613,12 @@ snapshots: '@react-native/normalize-colors@0.74.83': {} - '@react-native/virtualized-lists@0.74.83(@types/react@18.3.3)(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1)': + '@react-native/virtualized-lists@0.74.83(@types/react@18.3.3)(react-native@0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1)': dependencies: invariant: 2.2.4 nullthrows: 1.1.1 react: 18.3.1 - react-native: 0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4) + react-native: 0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4) optionalDependencies: '@types/react': 18.3.3 @@ -18911,7 +19626,7 @@ snapshots: '@rnx-kit/chromium-edge-launcher@1.0.0': dependencies: - '@types/node': 18.15.3 + '@types/node': 18.15.13 escape-string-regexp: 4.0.0 is-wsl: 2.2.0 lighthouse-logger: 1.4.2 @@ -18929,13 +19644,13 @@ snapshots: optionalDependencies: '@types/babel__core': 7.20.5 - '@rollup/plugin-inject@5.0.5(rollup@4.16.4)': + '@rollup/plugin-inject@5.0.5(rollup@4.19.0)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.16.4) + '@rollup/pluginutils': 5.1.0(rollup@4.19.0) estree-walker: 2.0.2 magic-string: 0.30.10 optionalDependencies: - rollup: 4.16.4 + rollup: 4.19.0 '@rollup/plugin-node-resolve@11.2.1(rollup@2.79.1)': dependencies: @@ -18960,69 +19675,69 @@ snapshots: picomatch: 2.3.1 rollup: 2.79.1 - '@rollup/pluginutils@5.1.0(rollup@4.16.4)': + '@rollup/pluginutils@5.1.0(rollup@4.19.0)': dependencies: '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 optionalDependencies: - rollup: 4.16.4 + rollup: 4.19.0 - '@rollup/rollup-android-arm-eabi@4.16.4': + '@rollup/rollup-android-arm-eabi@4.19.0': optional: true - '@rollup/rollup-android-arm64@4.16.4': + '@rollup/rollup-android-arm64@4.19.0': optional: true - '@rollup/rollup-darwin-arm64@4.16.4': + '@rollup/rollup-darwin-arm64@4.19.0': optional: true - '@rollup/rollup-darwin-x64@4.16.4': + '@rollup/rollup-darwin-x64@4.19.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.16.4': + '@rollup/rollup-linux-arm-gnueabihf@4.19.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.16.4': + '@rollup/rollup-linux-arm-musleabihf@4.19.0': optional: true - '@rollup/rollup-linux-arm64-gnu@4.16.4': + '@rollup/rollup-linux-arm64-gnu@4.19.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.16.4': + '@rollup/rollup-linux-arm64-musl@4.19.0': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.16.4': + '@rollup/rollup-linux-powerpc64le-gnu@4.19.0': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.16.4': + '@rollup/rollup-linux-riscv64-gnu@4.19.0': optional: true - '@rollup/rollup-linux-s390x-gnu@4.16.4': + '@rollup/rollup-linux-s390x-gnu@4.19.0': optional: true - '@rollup/rollup-linux-x64-gnu@4.16.4': + '@rollup/rollup-linux-x64-gnu@4.19.0': optional: true - '@rollup/rollup-linux-x64-musl@4.16.4': + '@rollup/rollup-linux-x64-musl@4.19.0': optional: true - '@rollup/rollup-win32-arm64-msvc@4.16.4': + '@rollup/rollup-win32-arm64-msvc@4.19.0': optional: true - '@rollup/rollup-win32-ia32-msvc@4.16.4': + '@rollup/rollup-win32-ia32-msvc@4.19.0': optional: true - '@rollup/rollup-win32-x64-msvc@4.16.4': + '@rollup/rollup-win32-x64-msvc@4.19.0': optional: true '@rushstack/eslint-patch@1.3.2': {} '@rushstack/eslint-patch@1.6.1': {} - '@safe-global/safe-apps-provider@0.18.1(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.22.4)': + '@safe-global/safe-apps-provider@0.18.1(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.23.8)': dependencies: - '@safe-global/safe-apps-sdk': 8.1.0(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.22.4) + '@safe-global/safe-apps-sdk': 8.1.0(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.23.8) events: 3.3.0 transitivePeerDependencies: - bufferutil @@ -19030,9 +19745,9 @@ snapshots: - utf-8-validate - zod - '@safe-global/safe-apps-provider@0.18.1(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.22.4)': + '@safe-global/safe-apps-provider@0.18.1(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.23.8)': dependencies: - '@safe-global/safe-apps-sdk': 8.1.0(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.22.4) + '@safe-global/safe-apps-sdk': 8.1.0(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.23.8) events: 3.3.0 transitivePeerDependencies: - bufferutil @@ -19040,30 +19755,32 @@ snapshots: - utf-8-validate - zod - '@safe-global/safe-apps-sdk@8.1.0(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.22.4)': + '@safe-global/safe-apps-sdk@8.1.0(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.23.8)': dependencies: - '@safe-global/safe-gateway-typescript-sdk': 3.21.1 - viem: 1.21.4(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.22.4) + '@safe-global/safe-gateway-typescript-sdk': 3.22.0 + viem: 1.21.4(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.23.8) transitivePeerDependencies: - bufferutil - typescript - utf-8-validate - zod - '@safe-global/safe-apps-sdk@8.1.0(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.22.4)': + '@safe-global/safe-apps-sdk@8.1.0(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.23.8)': dependencies: - '@safe-global/safe-gateway-typescript-sdk': 3.21.1 - viem: 1.21.4(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.22.4) + '@safe-global/safe-gateway-typescript-sdk': 3.22.0 + viem: 1.21.4(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.23.8) transitivePeerDependencies: - bufferutil - typescript - utf-8-validate - zod - '@safe-global/safe-gateway-typescript-sdk@3.21.1': {} + '@safe-global/safe-gateway-typescript-sdk@3.22.0': {} '@scure/base@1.1.6': {} + '@scure/base@1.1.7': {} + '@scure/bip32@1.3.2': dependencies: '@noble/curves': 1.2.0 @@ -19076,6 +19793,12 @@ snapshots: '@noble/hashes': 1.3.3 '@scure/base': 1.1.6 + '@scure/bip32@1.4.0': + dependencies: + '@noble/curves': 1.4.2 + '@noble/hashes': 1.4.0 + '@scure/base': 1.1.7 + '@scure/bip39@1.2.1': dependencies: '@noble/hashes': 1.3.3 @@ -19086,6 +19809,11 @@ snapshots: '@noble/hashes': 1.3.3 '@scure/base': 1.1.6 + '@scure/bip39@1.3.0': + dependencies: + '@noble/hashes': 1.4.0 + '@scure/base': 1.1.7 + '@shikijs/core@1.10.3': dependencies: '@types/hast': 3.0.4 @@ -19127,7 +19855,7 @@ snapshots: '@snyk/github-codeowners@1.1.0': dependencies: commander: 4.1.1 - ignore: 5.3.0 + ignore: 5.3.1 p-map: 4.0.0 '@socket.io/component-emitter@3.1.2': {} @@ -19256,7 +19984,7 @@ snapshots: '@svgr/hast-util-to-babel-ast@5.5.0': dependencies: - '@babel/types': 7.24.6 + '@babel/types': 7.24.9 '@svgr/plugin-jsx@5.5.0': dependencies: @@ -19297,18 +20025,18 @@ snapshots: dependencies: defer-to-connect: 2.0.1 - '@tanstack/query-core@5.51.1': {} + '@tanstack/query-core@5.51.9': {} - '@tanstack/react-query@5.51.1(react@18.3.1)': + '@tanstack/react-query@5.51.11(react@18.3.1)': dependencies: - '@tanstack/query-core': 5.51.1 + '@tanstack/query-core': 5.51.9 react: 18.3.1 '@testing-library/dom@8.20.1': dependencies: '@babel/code-frame': 7.24.7 - '@babel/runtime': 7.24.7 - '@types/aria-query': 5.0.1 + '@babel/runtime': 7.24.8 + '@types/aria-query': 5.0.4 aria-query: 5.1.3 chalk: 4.1.2 dom-accessibility-api: 0.5.16 @@ -19452,7 +20180,7 @@ snapshots: '@trysound/sax@0.2.0': {} - '@tsconfig/node10@1.0.9': + '@tsconfig/node10@1.0.11': optional: true '@tsconfig/node12@1.0.11': @@ -19464,11 +20192,11 @@ snapshots: '@tsconfig/node16@1.0.4': optional: true - '@types/aria-query@5.0.1': {} + '@types/aria-query@5.0.4': {} '@types/babel__core@7.20.1': dependencies: - '@babel/parser': 7.24.7 + '@babel/parser': 7.24.8 '@babel/types': 7.24.6 '@types/babel__generator': 7.6.4 '@types/babel__template': 7.4.1 @@ -19488,7 +20216,7 @@ snapshots: '@types/babel__template@7.4.1': dependencies: - '@babel/parser': 7.24.7 + '@babel/parser': 7.24.8 '@babel/types': 7.24.6 '@types/babel__traverse@7.20.1': @@ -19497,27 +20225,27 @@ snapshots: '@types/bn.js@5.1.5': dependencies: - '@types/node': 20.11.13 + '@types/node': 20.14.11 '@types/body-parser@1.19.2': dependencies: '@types/connect': 3.4.35 - '@types/node': 20.11.13 + '@types/node': 20.14.11 '@types/bonjour@3.5.10': dependencies: - '@types/node': 20.11.13 + '@types/node': 20.14.11 '@types/cli-table@0.3.4': {} '@types/connect-history-api-fallback@1.5.0': dependencies: '@types/express-serve-static-core': 4.17.35 - '@types/node': 20.11.13 + '@types/node': 20.14.11 '@types/connect@3.4.35': dependencies: - '@types/node': 20.11.13 + '@types/node': 20.14.11 '@types/debug@4.1.12': dependencies: @@ -19528,7 +20256,7 @@ snapshots: '@types/eslint-scope@3.7.4': dependencies: '@types/eslint': 8.40.2 - '@types/estree': 1.0.5 + '@types/estree': 1.0.1 '@types/eslint@8.40.2': dependencies: @@ -19543,7 +20271,7 @@ snapshots: '@types/express-serve-static-core@4.17.35': dependencies: - '@types/node': 20.11.13 + '@types/node': 20.14.11 '@types/qs': 6.9.7 '@types/range-parser': 1.2.4 '@types/send': 0.17.1 @@ -19560,11 +20288,11 @@ snapshots: '@types/glob@8.1.0': dependencies: '@types/minimatch': 5.1.2 - '@types/node': 20.11.13 + '@types/node': 20.14.11 '@types/graceful-fs@4.1.6': dependencies: - '@types/node': 20.11.13 + '@types/node': 20.14.11 '@types/hast@3.0.4': dependencies: @@ -19578,18 +20306,28 @@ snapshots: '@types/http-proxy@1.17.11': dependencies: - '@types/node': 20.11.13 + '@types/node': 20.14.11 '@types/istanbul-lib-coverage@2.0.4': {} + '@types/istanbul-lib-coverage@2.0.6': {} + '@types/istanbul-lib-report@3.0.0': dependencies: '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-lib-report@3.0.3': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports@3.0.1': dependencies: '@types/istanbul-lib-report': 3.0.0 + '@types/istanbul-reports@3.0.4': + dependencies: + '@types/istanbul-lib-report': 3.0.3 + '@types/jest@29.5.12': dependencies: expect: 29.5.0 @@ -19635,31 +20373,27 @@ snapshots: '@types/mkdirp@0.5.2': dependencies: - '@types/node': 20.11.13 + '@types/node': 20.14.11 '@types/mkdirp@1.0.2': dependencies: - '@types/node': 20.11.13 + '@types/node': 20.14.11 '@types/ms@0.7.34': {} '@types/node-fetch@2.6.11': dependencies: - '@types/node': 20.11.13 + '@types/node': 20.14.11 form-data: 4.0.0 '@types/node-forge@1.3.11': dependencies: - '@types/node': 20.11.13 + '@types/node': 20.14.11 '@types/node@12.20.55': {} - '@types/node@16.18.34': {} - '@types/node@18.15.13': {} - '@types/node@18.15.3': {} - '@types/node@20.10.5': dependencies: undici-types: 5.26.5 @@ -19668,13 +20402,17 @@ snapshots: dependencies: undici-types: 5.26.5 + '@types/node@20.14.11': + dependencies: + undici-types: 5.26.5 + '@types/parse-json@4.0.0': {} '@types/prettier@2.7.3': {} '@types/prompts@2.4.9': dependencies: - '@types/node': 20.11.13 + '@types/node': 20.14.11 kleur: 3.0.3 '@types/prop-types@15.7.5': {} @@ -19704,22 +20442,22 @@ snapshots: '@types/resolve@0.0.8': dependencies: - '@types/node': 20.11.13 + '@types/node': 20.14.11 '@types/resolve@1.17.1': dependencies: - '@types/node': 20.11.13 + '@types/node': 20.14.11 '@types/retry@0.12.0': {} '@types/rimraf@3.0.2': dependencies: '@types/glob': 8.1.0 - '@types/node': 20.11.13 + '@types/node': 20.14.11 '@types/secp256k1@4.0.6': dependencies: - '@types/node': 20.11.13 + '@types/node': 20.14.11 '@types/semver@7.3.13': {} @@ -19728,7 +20466,7 @@ snapshots: '@types/send@0.17.1': dependencies: '@types/mime': 1.3.2 - '@types/node': 20.11.13 + '@types/node': 20.14.11 '@types/serve-index@1.9.1': dependencies: @@ -19738,16 +20476,20 @@ snapshots: dependencies: '@types/http-errors': 2.0.1 '@types/mime': 3.0.1 - '@types/node': 20.11.13 + '@types/node': 20.14.11 '@types/sockjs@0.3.33': dependencies: - '@types/node': 20.11.13 + '@types/node': 20.14.11 '@types/stack-utils@2.0.1': {} + '@types/stack-utils@2.0.3': {} + '@types/trusted-types@2.0.3': {} + '@types/trusted-types@2.0.7': {} + '@types/unist@2.0.6': {} '@types/uuid@9.0.1': {} @@ -19760,13 +20502,15 @@ snapshots: '@types/ws@8.5.5': dependencies: - '@types/node': 20.11.13 + '@types/node': 20.14.11 '@types/yargs-parser@21.0.0': {} + '@types/yargs-parser@21.0.3': {} + '@types/yargs@15.0.19': dependencies: - '@types/yargs-parser': 21.0.0 + '@types/yargs-parser': 21.0.3 '@types/yargs@16.0.5': dependencies: @@ -19776,9 +20520,13 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.0 + '@types/yargs@17.0.32': + dependencies: + '@types/yargs-parser': 21.0.3 + '@types/yauzl@2.10.3': dependencies: - '@types/node': 20.11.13 + '@types/node': 20.14.11 optional: true '@typescript-eslint/eslint-plugin@5.59.0(@typescript-eslint/parser@5.59.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)': @@ -19931,7 +20679,7 @@ snapshots: debug: 4.3.5(supports-color@5.5.0) globby: 11.1.0 is-glob: 4.0.3 - semver: 7.3.8 + semver: 7.6.3 tsutils: 3.21.0(typescript@5.4.5) optionalDependencies: typescript: 5.4.5 @@ -19945,7 +20693,7 @@ snapshots: debug: 4.3.5(supports-color@5.5.0) globby: 11.1.0 is-glob: 4.0.3 - semver: 7.5.4 + semver: 7.6.3 tsutils: 3.21.0(typescript@5.4.5) optionalDependencies: typescript: 5.4.5 @@ -19959,7 +20707,7 @@ snapshots: debug: 4.3.5(supports-color@5.5.0) globby: 11.1.0 is-glob: 4.0.3 - semver: 7.5.4 + semver: 7.6.3 ts-api-utils: 1.0.3(typescript@5.2.2) optionalDependencies: typescript: 5.2.2 @@ -19973,7 +20721,7 @@ snapshots: debug: 4.3.5(supports-color@5.5.0) globby: 11.1.0 is-glob: 4.0.3 - semver: 7.5.4 + semver: 7.6.3 ts-api-utils: 1.0.3(typescript@5.4.5) optionalDependencies: typescript: 5.4.5 @@ -20005,7 +20753,7 @@ snapshots: '@typescript-eslint/typescript-estree': 5.60.1(typescript@5.4.5) eslint: 8.57.0 eslint-scope: 5.1.1 - semver: 7.5.4 + semver: 7.6.3 transitivePeerDependencies: - supports-color - typescript @@ -20041,33 +20789,33 @@ snapshots: '@ungap/structured-clone@1.2.0': {} - '@vitejs/plugin-react@4.3.1(vite@5.3.3(@types/node@20.11.13)(terser@5.18.2))': + '@vitejs/plugin-react@4.3.1(vite@5.3.4(@types/node@20.14.11)(terser@5.31.3))': dependencies: '@babel/core': 7.24.7 '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.24.7) '@babel/plugin-transform-react-jsx-source': 7.24.1(@babel/core@7.24.7) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 5.3.3(@types/node@20.11.13)(terser@5.18.2) + vite: 5.3.4(@types/node@20.14.11)(terser@5.31.3) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@5.0.5(vite@5.3.3(@types/node@20.11.13)(terser@5.18.2))(vue@3.4.31(typescript@5.4.5))': + '@vitejs/plugin-vue@5.0.5(vite@5.3.4(@types/node@20.14.11)(terser@5.31.3))(vue@3.4.33(typescript@5.4.5))': dependencies: - vite: 5.3.3(@types/node@20.11.13)(terser@5.18.2) - vue: 3.4.31(typescript@5.4.5) + vite: 5.3.4(@types/node@20.14.11)(terser@5.31.3) + vue: 3.4.33(typescript@5.4.5) - '@vitest/browser@1.6.0(playwright@1.45.1)(vitest@1.6.0)(webdriverio@8.39.1(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4))': + '@vitest/browser@1.6.0(playwright@1.45.3)(vitest@1.6.0)(webdriverio@8.39.1(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4))': dependencies: '@vitest/utils': 1.6.0 magic-string: 0.30.5 sirv: 2.0.4 - vitest: 1.6.0(@types/node@20.11.13)(@vitest/browser@1.6.0)(jsdom@16.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(terser@5.18.2) + vitest: 1.6.0(@types/node@20.14.11)(@vitest/browser@1.6.0)(jsdom@16.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(terser@5.31.3) optionalDependencies: - playwright: 1.45.1 + playwright: 1.45.3 webdriverio: 8.39.1(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4) - '@vitest/coverage-istanbul@1.6.0(vitest@1.6.0(@types/node@18.15.3)(@vitest/browser@1.6.0)(jsdom@16.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(terser@5.18.2))': + '@vitest/coverage-istanbul@1.6.0(vitest@1.6.0(@types/node@20.14.11)(@vitest/browser@1.6.0)(jsdom@16.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(terser@5.31.3))': dependencies: debug: 4.3.5(supports-color@5.5.0) istanbul-lib-coverage: 3.2.2 @@ -20078,7 +20826,7 @@ snapshots: magicast: 0.3.3 picocolors: 1.0.0 test-exclude: 6.0.0 - vitest: 1.6.0(@types/node@18.15.3)(@vitest/browser@1.6.0)(jsdom@16.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(terser@5.18.2) + vitest: 1.6.0(@types/node@20.14.11)(@vitest/browser@1.6.0)(jsdom@16.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(terser@5.31.3) transitivePeerDependencies: - supports-color @@ -20111,35 +20859,35 @@ snapshots: loupe: 2.3.7 pretty-format: 29.7.0 - '@vue/compiler-core@3.4.31': + '@vue/compiler-core@3.4.33': dependencies: - '@babel/parser': 7.24.7 - '@vue/shared': 3.4.31 + '@babel/parser': 7.24.8 + '@vue/shared': 3.4.33 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.0 - '@vue/compiler-dom@3.4.31': + '@vue/compiler-dom@3.4.33': dependencies: - '@vue/compiler-core': 3.4.31 - '@vue/shared': 3.4.31 + '@vue/compiler-core': 3.4.33 + '@vue/shared': 3.4.33 - '@vue/compiler-sfc@3.4.31': + '@vue/compiler-sfc@3.4.33': dependencies: - '@babel/parser': 7.24.7 - '@vue/compiler-core': 3.4.31 - '@vue/compiler-dom': 3.4.31 - '@vue/compiler-ssr': 3.4.31 - '@vue/shared': 3.4.31 + '@babel/parser': 7.24.8 + '@vue/compiler-core': 3.4.33 + '@vue/compiler-dom': 3.4.33 + '@vue/compiler-ssr': 3.4.33 + '@vue/shared': 3.4.33 estree-walker: 2.0.2 magic-string: 0.30.10 - postcss: 8.4.38 + postcss: 8.4.39 source-map-js: 1.2.0 - '@vue/compiler-ssr@3.4.31': + '@vue/compiler-ssr@3.4.33': dependencies: - '@vue/compiler-dom': 3.4.31 - '@vue/shared': 3.4.31 + '@vue/compiler-dom': 3.4.33 + '@vue/shared': 3.4.33 '@vue/devtools-api@6.6.3': {} @@ -20161,52 +20909,54 @@ snapshots: dependencies: rfdc: 1.4.1 - '@vue/reactivity@3.4.31': + '@vue/reactivity@3.4.33': dependencies: - '@vue/shared': 3.4.31 + '@vue/shared': 3.4.33 - '@vue/runtime-core@3.4.31': + '@vue/runtime-core@3.4.33': dependencies: - '@vue/reactivity': 3.4.31 - '@vue/shared': 3.4.31 + '@vue/reactivity': 3.4.33 + '@vue/shared': 3.4.33 - '@vue/runtime-dom@3.4.31': + '@vue/runtime-dom@3.4.33': dependencies: - '@vue/reactivity': 3.4.31 - '@vue/runtime-core': 3.4.31 - '@vue/shared': 3.4.31 + '@vue/reactivity': 3.4.33 + '@vue/runtime-core': 3.4.33 + '@vue/shared': 3.4.33 csstype: 3.1.3 - '@vue/server-renderer@3.4.31(vue@3.4.31(typescript@5.2.2))': + '@vue/server-renderer@3.4.33(vue@3.4.33(typescript@5.2.2))': dependencies: - '@vue/compiler-ssr': 3.4.31 - '@vue/shared': 3.4.31 - vue: 3.4.31(typescript@5.2.2) + '@vue/compiler-ssr': 3.4.33 + '@vue/shared': 3.4.33 + vue: 3.4.33(typescript@5.2.2) optional: true - '@vue/server-renderer@3.4.31(vue@3.4.31(typescript@5.4.5))': + '@vue/server-renderer@3.4.33(vue@3.4.33(typescript@5.4.5))': dependencies: - '@vue/compiler-ssr': 3.4.31 - '@vue/shared': 3.4.31 - vue: 3.4.31(typescript@5.4.5) + '@vue/compiler-ssr': 3.4.33 + '@vue/shared': 3.4.33 + vue: 3.4.33(typescript@5.4.5) '@vue/shared@3.4.31': {} - '@vueuse/core@10.11.0(vue@3.4.31(typescript@5.4.5))': + '@vue/shared@3.4.33': {} + + '@vueuse/core@10.11.0(vue@3.4.33(typescript@5.4.5))': dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 10.11.0 - '@vueuse/shared': 10.11.0(vue@3.4.31(typescript@5.4.5)) - vue-demi: 0.14.8(vue@3.4.31(typescript@5.4.5)) + '@vueuse/shared': 10.11.0(vue@3.4.33(typescript@5.4.5)) + vue-demi: 0.14.8(vue@3.4.33(typescript@5.4.5)) transitivePeerDependencies: - '@vue/composition-api' - vue - '@vueuse/integrations@10.11.0(change-case@4.1.2)(focus-trap@7.5.4)(idb-keyval@6.2.1)(qrcode@1.5.3)(vue@3.4.31(typescript@5.4.5))': + '@vueuse/integrations@10.11.0(change-case@4.1.2)(focus-trap@7.5.4)(idb-keyval@6.2.1)(qrcode@1.5.3)(vue@3.4.33(typescript@5.4.5))': dependencies: - '@vueuse/core': 10.11.0(vue@3.4.31(typescript@5.4.5)) - '@vueuse/shared': 10.11.0(vue@3.4.31(typescript@5.4.5)) - vue-demi: 0.14.8(vue@3.4.31(typescript@5.4.5)) + '@vueuse/core': 10.11.0(vue@3.4.33(typescript@5.4.5)) + '@vueuse/shared': 10.11.0(vue@3.4.33(typescript@5.4.5)) + vue-demi: 0.14.8(vue@3.4.33(typescript@5.4.5)) optionalDependencies: change-case: 4.1.2 focus-trap: 7.5.4 @@ -20218,24 +20968,64 @@ snapshots: '@vueuse/metadata@10.11.0': {} - '@vueuse/shared@10.11.0(vue@3.4.31(typescript@5.4.5))': + '@vueuse/shared@10.11.0(vue@3.4.33(typescript@5.4.5))': dependencies: - vue-demi: 0.14.8(vue@3.4.31(typescript@5.4.5)) + vue-demi: 0.14.8(vue@3.4.33(typescript@5.4.5)) transitivePeerDependencies: - '@vue/composition-api' - vue - '@wagmi/connectors@5.0.7(@types/react@18.3.3)(@wagmi/core@2.9.1(@tanstack/query-core@5.51.1)(@types/react@18.3.3)(bufferutil@4.0.8)(immer@9.0.21)(react@18.3.1)(typescript@5.2.2)(utf-8-validate@6.0.4)(viem@2.10.2(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.22.4))(zod@3.22.4))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-i18next@13.5.0(i18next@22.5.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1)(rollup@4.16.4)(typescript@5.2.2)(utf-8-validate@6.0.4)(viem@2.10.2(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.22.4))(zod@3.22.4)': + '@wagmi/connectors@5.0.7(@types/react@18.3.3)(@wagmi/core@2.9.1(@tanstack/query-core@5.51.9)(@types/react@18.3.3)(bufferutil@4.0.8)(immer@9.0.21)(react@18.3.1)(typescript@5.2.2)(utf-8-validate@6.0.4)(viem@2.10.2(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.23.8))(zod@3.23.8))(bufferutil@4.0.8)(react-dom@18.2.0(react@18.3.1))(react-i18next@13.5.0(i18next@22.5.1)(react-dom@18.2.0(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1)(rollup@4.19.0)(typescript@5.2.2)(utf-8-validate@6.0.4)(viem@2.10.2(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.23.8))(zod@3.23.8)': + dependencies: + '@coinbase/wallet-sdk': 4.0.2 + '@metamask/sdk': 0.20.3(bufferutil@4.0.8)(react-dom@18.2.0(react@18.3.1))(react-i18next@13.5.0(i18next@22.5.1)(react-dom@18.2.0(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1)(rollup@4.19.0)(utf-8-validate@6.0.4) + '@safe-global/safe-apps-provider': 0.18.1(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.23.8) + '@safe-global/safe-apps-sdk': 8.1.0(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.23.8) + '@wagmi/core': 2.9.1(@tanstack/query-core@5.51.9)(@types/react@18.3.3)(bufferutil@4.0.8)(immer@9.0.21)(react@18.3.1)(typescript@5.2.2)(utf-8-validate@6.0.4)(viem@2.10.2(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.23.8))(zod@3.23.8) + '@walletconnect/ethereum-provider': 2.13.0(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4) + '@walletconnect/modal': 2.6.2(@types/react@18.3.3)(react@18.3.1) + cbw-sdk: '@coinbase/wallet-sdk@3.9.3' + viem: 2.10.2(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.23.8) + optionalDependencies: + typescript: 5.2.2 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@netlify/blobs' + - '@planetscale/database' + - '@react-native-async-storage/async-storage' + - '@types/react' + - '@upstash/redis' + - '@vercel/kv' + - bufferutil + - encoding + - ioredis + - react + - react-dom + - react-i18next + - react-native + - rollup + - supports-color + - uWebSockets.js + - utf-8-validate + - zod + + '@wagmi/connectors@5.0.7(@types/react@18.3.3)(@wagmi/core@2.9.1(@tanstack/query-core@5.51.9)(@types/react@18.3.3)(bufferutil@4.0.8)(immer@9.0.21)(react@18.3.1)(typescript@5.2.2)(utf-8-validate@6.0.4)(viem@2.10.2(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.23.8))(zod@3.23.8))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-i18next@13.5.0(i18next@22.5.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1)(rollup@4.19.0)(typescript@5.2.2)(utf-8-validate@6.0.4)(viem@2.10.2(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.23.8))(zod@3.23.8)': dependencies: '@coinbase/wallet-sdk': 4.0.2 - '@metamask/sdk': 0.20.3(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-i18next@13.5.0(i18next@22.5.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1)(rollup@4.16.4)(utf-8-validate@6.0.4) - '@safe-global/safe-apps-provider': 0.18.1(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.22.4) - '@safe-global/safe-apps-sdk': 8.1.0(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.22.4) - '@wagmi/core': 2.9.1(@tanstack/query-core@5.51.1)(@types/react@18.3.3)(bufferutil@4.0.8)(immer@9.0.21)(react@18.3.1)(typescript@5.2.2)(utf-8-validate@6.0.4)(viem@2.10.2(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.22.4))(zod@3.22.4) + '@metamask/sdk': 0.20.3(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-i18next@13.5.0(i18next@22.5.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1)(rollup@4.19.0)(utf-8-validate@6.0.4) + '@safe-global/safe-apps-provider': 0.18.1(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.23.8) + '@safe-global/safe-apps-sdk': 8.1.0(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.23.8) + '@wagmi/core': 2.9.1(@tanstack/query-core@5.51.9)(@types/react@18.3.3)(bufferutil@4.0.8)(immer@9.0.21)(react@18.3.1)(typescript@5.2.2)(utf-8-validate@6.0.4)(viem@2.10.2(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.23.8))(zod@3.23.8) '@walletconnect/ethereum-provider': 2.13.0(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4) '@walletconnect/modal': 2.6.2(@types/react@18.3.3)(react@18.3.1) cbw-sdk: '@coinbase/wallet-sdk@3.9.3' - viem: 2.10.2(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.22.4) + viem: 2.10.2(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.23.8) optionalDependencies: typescript: 5.2.2 transitivePeerDependencies: @@ -20265,17 +21055,17 @@ snapshots: - utf-8-validate - zod - '@wagmi/connectors@5.0.7(@types/react@18.3.3)(@wagmi/core@2.9.1(@tanstack/query-core@5.51.1)(@types/react@18.3.3)(bufferutil@4.0.8)(immer@9.0.21)(react@18.3.1)(typescript@5.4.5)(utf-8-validate@6.0.4)(viem@2.10.2(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.22.4))(zod@3.22.4))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-i18next@13.5.0(i18next@22.5.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1)(rollup@4.16.4)(typescript@5.4.5)(utf-8-validate@6.0.4)(viem@2.10.2(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.22.4))(zod@3.22.4)': + '@wagmi/connectors@5.0.7(@types/react@18.3.3)(@wagmi/core@2.9.1(@tanstack/query-core@5.51.9)(@types/react@18.3.3)(bufferutil@4.0.8)(immer@9.0.21)(react@18.3.1)(typescript@5.4.5)(utf-8-validate@6.0.4)(viem@2.10.2(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.23.8))(zod@3.23.8))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-i18next@13.5.0(i18next@22.5.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1)(rollup@4.19.0)(typescript@5.4.5)(utf-8-validate@6.0.4)(viem@2.10.2(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.23.8))(zod@3.23.8)': dependencies: '@coinbase/wallet-sdk': 4.0.2 - '@metamask/sdk': 0.20.3(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-i18next@13.5.0(i18next@22.5.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1)(rollup@4.16.4)(utf-8-validate@6.0.4) - '@safe-global/safe-apps-provider': 0.18.1(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.22.4) - '@safe-global/safe-apps-sdk': 8.1.0(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.22.4) - '@wagmi/core': 2.9.1(@tanstack/query-core@5.51.1)(@types/react@18.3.3)(bufferutil@4.0.8)(immer@9.0.21)(react@18.3.1)(typescript@5.4.5)(utf-8-validate@6.0.4)(viem@2.10.2(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.22.4))(zod@3.22.4) + '@metamask/sdk': 0.20.3(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-i18next@13.5.0(i18next@22.5.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1)(rollup@4.19.0)(utf-8-validate@6.0.4) + '@safe-global/safe-apps-provider': 0.18.1(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.23.8) + '@safe-global/safe-apps-sdk': 8.1.0(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.23.8) + '@wagmi/core': 2.9.1(@tanstack/query-core@5.51.9)(@types/react@18.3.3)(bufferutil@4.0.8)(immer@9.0.21)(react@18.3.1)(typescript@5.4.5)(utf-8-validate@6.0.4)(viem@2.10.2(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.23.8))(zod@3.23.8) '@walletconnect/ethereum-provider': 2.13.0(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4) '@walletconnect/modal': 2.6.2(@types/react@18.3.3)(react@18.3.1) cbw-sdk: '@coinbase/wallet-sdk@3.9.3' - viem: 2.10.2(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.22.4) + viem: 2.10.2(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.23.8) optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: @@ -20305,14 +21095,14 @@ snapshots: - utf-8-validate - zod - '@wagmi/core@2.9.1(@tanstack/query-core@5.51.1)(@types/react@18.3.3)(bufferutil@4.0.8)(immer@9.0.21)(react@18.3.1)(typescript@5.2.2)(utf-8-validate@6.0.4)(viem@2.10.2(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.22.4))(zod@3.22.4)': + '@wagmi/core@2.9.1(@tanstack/query-core@5.51.9)(@types/react@18.3.3)(bufferutil@4.0.8)(immer@9.0.21)(react@18.3.1)(typescript@5.2.2)(utf-8-validate@6.0.4)(viem@2.10.2(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.23.8))(zod@3.23.8)': dependencies: eventemitter3: 5.0.1 - mipd: 0.0.5(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.22.4) - viem: 2.10.2(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.22.4) + mipd: 0.0.5(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.23.8) + viem: 2.10.2(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.23.8) zustand: 4.4.1(@types/react@18.3.3)(immer@9.0.21)(react@18.3.1) optionalDependencies: - '@tanstack/query-core': 5.51.1 + '@tanstack/query-core': 5.51.9 typescript: 5.2.2 transitivePeerDependencies: - '@types/react' @@ -20322,14 +21112,14 @@ snapshots: - utf-8-validate - zod - '@wagmi/core@2.9.1(@tanstack/query-core@5.51.1)(@types/react@18.3.3)(bufferutil@4.0.8)(immer@9.0.21)(react@18.3.1)(typescript@5.4.5)(utf-8-validate@6.0.4)(viem@2.10.2(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.22.4))(zod@3.22.4)': + '@wagmi/core@2.9.1(@tanstack/query-core@5.51.9)(@types/react@18.3.3)(bufferutil@4.0.8)(immer@9.0.21)(react@18.3.1)(typescript@5.4.5)(utf-8-validate@6.0.4)(viem@2.10.2(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.23.8))(zod@3.23.8)': dependencies: eventemitter3: 5.0.1 - mipd: 0.0.5(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.22.4) - viem: 2.10.2(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.22.4) + mipd: 0.0.5(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.23.8) + viem: 2.10.2(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.23.8) zustand: 4.4.1(@types/react@18.3.3)(immer@9.0.21)(react@18.3.1) optionalDependencies: - '@tanstack/query-core': 5.51.1 + '@tanstack/query-core': 5.51.9 typescript: 5.4.5 transitivePeerDependencies: - '@types/react' @@ -20456,7 +21246,7 @@ snapshots: '@walletconnect/jsonrpc-utils': 1.0.8 '@walletconnect/safe-json': 1.0.2 events: 3.3.0 - ws: 7.5.9(bufferutil@4.0.8)(utf-8-validate@6.0.4) + ws: 7.5.10(bufferutil@4.0.8)(utf-8-validate@6.0.4) transitivePeerDependencies: - bufferutil - utf-8-validate @@ -20680,11 +21470,11 @@ snapshots: '@wdio/repl@8.24.12': dependencies: - '@types/node': 20.11.13 + '@types/node': 20.14.11 '@wdio/types@8.39.0': dependencies: - '@types/node': 20.11.13 + '@types/node': 20.14.11 '@wdio/utils@8.39.0': dependencies: @@ -20722,6 +21512,15 @@ snapshots: dependencies: buffer: 6.0.3 + '@web3modal/scaffold-react@4.1.11(@types/react@18.3.3)(react-dom@18.2.0(react@18.3.1))(react@18.3.1)': + dependencies: + '@web3modal/scaffold': 4.1.11(@types/react@18.3.3)(react@18.3.1) + optionalDependencies: + react: 18.3.1 + react-dom: 18.2.0(react@18.3.1) + transitivePeerDependencies: + - '@types/react' + '@web3modal/scaffold-react@4.1.11(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@web3modal/scaffold': 4.1.11(@types/react@18.3.3)(react@18.3.1) @@ -20740,20 +21539,20 @@ snapshots: - '@types/react' - react - '@web3modal/scaffold-vue@4.1.11(@types/react@18.3.3)(react@18.3.1)(vue@3.4.31(typescript@5.2.2))': + '@web3modal/scaffold-vue@4.1.11(@types/react@18.3.3)(react@18.3.1)(vue@3.4.33(typescript@5.2.2))': dependencies: '@web3modal/scaffold': 4.1.11(@types/react@18.3.3)(react@18.3.1) optionalDependencies: - vue: 3.4.31(typescript@5.2.2) + vue: 3.4.33(typescript@5.2.2) transitivePeerDependencies: - '@types/react' - react - '@web3modal/scaffold-vue@4.1.11(@types/react@18.3.3)(react@18.3.1)(vue@3.4.31(typescript@5.4.5))': + '@web3modal/scaffold-vue@4.1.11(@types/react@18.3.3)(react@18.3.1)(vue@3.4.33(typescript@5.4.5))': dependencies: '@web3modal/scaffold': 4.1.11(@types/react@18.3.3)(react@18.3.1) optionalDependencies: - vue: 3.4.31(typescript@5.4.5) + vue: 3.4.33(typescript@5.4.5) transitivePeerDependencies: - '@types/react' - react @@ -20785,39 +21584,57 @@ snapshots: lit: 3.1.0 qrcode: 1.5.3 - '@web3modal/wagmi@4.1.11(fhmxtqzeb5uqln7w57atmj6tzu)': + '@web3modal/wagmi@4.1.11(73l2qhtcqsf4ra65nol4hep56y)': dependencies: - '@wagmi/connectors': 5.0.7(@types/react@18.3.3)(@wagmi/core@2.9.1(@tanstack/query-core@5.51.1)(@types/react@18.3.3)(bufferutil@4.0.8)(immer@9.0.21)(react@18.3.1)(typescript@5.2.2)(utf-8-validate@6.0.4)(viem@2.10.2(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.22.4))(zod@3.22.4))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-i18next@13.5.0(i18next@22.5.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1)(rollup@4.16.4)(typescript@5.2.2)(utf-8-validate@6.0.4)(viem@2.10.2(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.22.4))(zod@3.22.4) - '@wagmi/core': 2.9.1(@tanstack/query-core@5.51.1)(@types/react@18.3.3)(bufferutil@4.0.8)(immer@9.0.21)(react@18.3.1)(typescript@5.2.2)(utf-8-validate@6.0.4)(viem@2.10.2(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.22.4))(zod@3.22.4) + '@wagmi/connectors': 5.0.7(@types/react@18.3.3)(@wagmi/core@2.9.1(@tanstack/query-core@5.51.9)(@types/react@18.3.3)(bufferutil@4.0.8)(immer@9.0.21)(react@18.3.1)(typescript@5.4.5)(utf-8-validate@6.0.4)(viem@2.10.2(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.23.8))(zod@3.23.8))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-i18next@13.5.0(i18next@22.5.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1)(rollup@4.19.0)(typescript@5.4.5)(utf-8-validate@6.0.4)(viem@2.10.2(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.23.8))(zod@3.23.8) + '@wagmi/core': 2.9.1(@tanstack/query-core@5.51.9)(@types/react@18.3.3)(bufferutil@4.0.8)(immer@9.0.21)(react@18.3.1)(typescript@5.4.5)(utf-8-validate@6.0.4)(viem@2.10.2(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.23.8))(zod@3.23.8) '@web3modal/polyfills': 4.1.11 '@web3modal/scaffold': 4.1.11(@types/react@18.3.3)(react@18.3.1) '@web3modal/scaffold-react': 4.1.11(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@web3modal/scaffold-utils': 4.1.11(@types/react@18.3.3)(react@18.3.1) - '@web3modal/scaffold-vue': 4.1.11(@types/react@18.3.3)(react@18.3.1)(vue@3.4.31(typescript@5.2.2)) + '@web3modal/scaffold-vue': 4.1.11(@types/react@18.3.3)(react@18.3.1)(vue@3.4.33(typescript@5.4.5)) '@web3modal/siwe': 4.1.11(@types/react@18.3.3)(react@18.3.1) - viem: 2.10.2(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.22.4) + viem: 2.10.2(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.23.8) optionalDependencies: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - vue: 3.4.31(typescript@5.2.2) + vue: 3.4.33(typescript@5.4.5) + transitivePeerDependencies: + - '@types/react' + + '@web3modal/wagmi@4.1.11(ahss5cygxkzo3hjc4o7hi4t7pm)': + dependencies: + '@wagmi/connectors': 5.0.7(@types/react@18.3.3)(@wagmi/core@2.9.1(@tanstack/query-core@5.51.9)(@types/react@18.3.3)(bufferutil@4.0.8)(immer@9.0.21)(react@18.3.1)(typescript@5.2.2)(utf-8-validate@6.0.4)(viem@2.10.2(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.23.8))(zod@3.23.8))(bufferutil@4.0.8)(react-dom@18.2.0(react@18.3.1))(react-i18next@13.5.0(i18next@22.5.1)(react-dom@18.2.0(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1)(rollup@4.19.0)(typescript@5.2.2)(utf-8-validate@6.0.4)(viem@2.10.2(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.23.8))(zod@3.23.8) + '@wagmi/core': 2.9.1(@tanstack/query-core@5.51.9)(@types/react@18.3.3)(bufferutil@4.0.8)(immer@9.0.21)(react@18.3.1)(typescript@5.2.2)(utf-8-validate@6.0.4)(viem@2.10.2(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.23.8))(zod@3.23.8) + '@web3modal/polyfills': 4.1.11 + '@web3modal/scaffold': 4.1.11(@types/react@18.3.3)(react@18.3.1) + '@web3modal/scaffold-react': 4.1.11(@types/react@18.3.3)(react-dom@18.2.0(react@18.3.1))(react@18.3.1) + '@web3modal/scaffold-utils': 4.1.11(@types/react@18.3.3)(react@18.3.1) + '@web3modal/scaffold-vue': 4.1.11(@types/react@18.3.3)(react@18.3.1)(vue@3.4.33(typescript@5.2.2)) + '@web3modal/siwe': 4.1.11(@types/react@18.3.3)(react@18.3.1) + viem: 2.10.2(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.23.8) + optionalDependencies: + react: 18.3.1 + react-dom: 18.2.0(react@18.3.1) + vue: 3.4.33(typescript@5.2.2) transitivePeerDependencies: - '@types/react' - '@web3modal/wagmi@4.1.11(ysallm3vwthzbhacxfkokrrei4)': + '@web3modal/wagmi@4.1.11(kjkpry5vjnz3tbpu352ri327ka)': dependencies: - '@wagmi/connectors': 5.0.7(@types/react@18.3.3)(@wagmi/core@2.9.1(@tanstack/query-core@5.51.1)(@types/react@18.3.3)(bufferutil@4.0.8)(immer@9.0.21)(react@18.3.1)(typescript@5.4.5)(utf-8-validate@6.0.4)(viem@2.10.2(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.22.4))(zod@3.22.4))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-i18next@13.5.0(i18next@22.5.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1)(rollup@4.16.4)(typescript@5.4.5)(utf-8-validate@6.0.4)(viem@2.10.2(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.22.4))(zod@3.22.4) - '@wagmi/core': 2.9.1(@tanstack/query-core@5.51.1)(@types/react@18.3.3)(bufferutil@4.0.8)(immer@9.0.21)(react@18.3.1)(typescript@5.4.5)(utf-8-validate@6.0.4)(viem@2.10.2(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.22.4))(zod@3.22.4) + '@wagmi/connectors': 5.0.7(@types/react@18.3.3)(@wagmi/core@2.9.1(@tanstack/query-core@5.51.9)(@types/react@18.3.3)(bufferutil@4.0.8)(immer@9.0.21)(react@18.3.1)(typescript@5.2.2)(utf-8-validate@6.0.4)(viem@2.10.2(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.23.8))(zod@3.23.8))(bufferutil@4.0.8)(react-dom@18.3.1(react@18.3.1))(react-i18next@13.5.0(i18next@22.5.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1)(rollup@4.19.0)(typescript@5.2.2)(utf-8-validate@6.0.4)(viem@2.10.2(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.23.8))(zod@3.23.8) + '@wagmi/core': 2.9.1(@tanstack/query-core@5.51.9)(@types/react@18.3.3)(bufferutil@4.0.8)(immer@9.0.21)(react@18.3.1)(typescript@5.2.2)(utf-8-validate@6.0.4)(viem@2.10.2(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.23.8))(zod@3.23.8) '@web3modal/polyfills': 4.1.11 '@web3modal/scaffold': 4.1.11(@types/react@18.3.3)(react@18.3.1) '@web3modal/scaffold-react': 4.1.11(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@web3modal/scaffold-utils': 4.1.11(@types/react@18.3.3)(react@18.3.1) - '@web3modal/scaffold-vue': 4.1.11(@types/react@18.3.3)(react@18.3.1)(vue@3.4.31(typescript@5.4.5)) + '@web3modal/scaffold-vue': 4.1.11(@types/react@18.3.3)(react@18.3.1)(vue@3.4.33(typescript@5.2.2)) '@web3modal/siwe': 4.1.11(@types/react@18.3.3)(react@18.3.1) - viem: 2.10.2(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.22.4) + viem: 2.10.2(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.23.8) optionalDependencies: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - vue: 3.4.31(typescript@5.4.5) + vue: 3.4.33(typescript@5.2.2) transitivePeerDependencies: - '@types/react' @@ -20925,7 +21742,7 @@ snapshots: busboy: 1.6.0 fast-querystring: 1.1.2 fast-url-parser: 1.1.3 - tslib: 2.6.3 + tslib: 2.6.0 '@whatwg-node/node-fetch@0.5.11': dependencies: @@ -20947,25 +21764,25 @@ snapshots: abbrev@1.1.1: {} - abitype@0.9.8(typescript@5.2.2)(zod@3.22.4): + abitype@0.9.8(typescript@5.2.2)(zod@3.23.8): optionalDependencies: typescript: 5.2.2 - zod: 3.22.4 + zod: 3.23.8 - abitype@0.9.8(typescript@5.4.5)(zod@3.22.4): + abitype@0.9.8(typescript@5.4.5)(zod@3.23.8): optionalDependencies: typescript: 5.4.5 - zod: 3.22.4 + zod: 3.23.8 - abitype@1.0.0(typescript@5.2.2)(zod@3.22.4): + abitype@1.0.0(typescript@5.2.2)(zod@3.23.8): optionalDependencies: typescript: 5.2.2 - zod: 3.22.4 + zod: 3.23.8 - abitype@1.0.0(typescript@5.4.5)(zod@3.22.4): + abitype@1.0.0(typescript@5.4.5)(zod@3.23.8): optionalDependencies: typescript: 5.4.5 - zod: 3.22.4 + zod: 3.23.8 abort-controller@3.0.0: dependencies: @@ -20993,10 +21810,17 @@ snapshots: acorn-walk@8.3.2: {} + acorn-walk@8.3.3: + dependencies: + acorn: 8.12.1 + optional: true + acorn@7.4.1: {} acorn@8.11.3: {} + acorn@8.12.1: {} + acorn@8.9.0: {} address@1.2.2: {} @@ -21155,7 +21979,7 @@ snapshots: aria-hidden@1.2.3: dependencies: - tslib: 2.6.0 + tslib: 2.6.3 aria-query@4.2.2: dependencies: @@ -21179,14 +22003,6 @@ snapshots: array-flatten@2.1.2: {} - array-includes@3.1.6: - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 - get-intrinsic: 1.2.1 - is-string: 1.0.7 - array-includes@3.1.7: dependencies: call-bind: 1.0.2 @@ -21225,10 +22041,10 @@ snapshots: array.prototype.flat@1.3.1: dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 - es-shim-unscopables: 1.0.0 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-shim-unscopables: 1.0.2 array.prototype.flat@1.3.2: dependencies: @@ -21237,34 +22053,20 @@ snapshots: es-abstract: 1.22.3 es-shim-unscopables: 1.0.0 - array.prototype.flatmap@1.3.1: - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 - es-shim-unscopables: 1.0.0 - array.prototype.flatmap@1.3.2: - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.22.3 - es-shim-unscopables: 1.0.0 - - array.prototype.reduce@1.0.5: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 - es-array-method-boxes-properly: 1.0.0 - is-string: 1.0.7 + es-shim-unscopables: 1.0.2 - array.prototype.toreversed@1.1.2: + array.prototype.reduce@1.0.5: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 - es-shim-unscopables: 1.0.2 + es-array-method-boxes-properly: 1.0.0 + is-string: 1.0.7 array.prototype.tosorted@1.1.4: dependencies: @@ -21278,7 +22080,7 @@ snapshots: dependencies: array-buffer-byte-length: 1.0.1 call-bind: 1.0.7 - define-properties: 1.2.1 + define-properties: 1.2.0 es-abstract: 1.22.3 get-intrinsic: 1.2.4 is-array-buffer: 3.0.4 @@ -21308,7 +22110,7 @@ snapshots: dependencies: pvtsutils: 1.3.2 pvutils: 1.1.3 - tslib: 2.6.3 + tslib: 2.6.0 assert@2.1.0: dependencies: @@ -21376,6 +22178,16 @@ snapshots: postcss: 8.4.33 postcss-value-parser: 4.2.0 + autoprefixer@10.4.19(postcss@8.4.39): + dependencies: + browserslist: 4.23.0 + caniuse-lite: 1.0.30001640 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.0.0 + postcss: 8.4.39 + postcss-value-parser: 4.2.0 + available-typed-arrays@1.0.5: {} available-typed-arrays@1.0.7: @@ -21394,9 +22206,9 @@ snapshots: b4a@1.6.4: {} - babel-core@7.0.0-bridge.0(@babel/core@7.24.7): + babel-core@7.0.0-bridge.0(@babel/core@7.24.9): dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 babel-jest@27.5.1(@babel/core@7.22.5): dependencies: @@ -21448,7 +22260,7 @@ snapshots: babel-plugin-jest-hoist@27.5.1: dependencies: '@babel/template': 7.24.6 - '@babel/types': 7.24.6 + '@babel/types': 7.24.9 '@types/babel__core': 7.20.1 '@types/babel__traverse': 7.20.1 @@ -21462,6 +22274,15 @@ snapshots: dependencies: '@babel/core': 7.22.5 + babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.24.9): + dependencies: + '@babel/compat-data': 7.24.9 + '@babel/core': 7.24.9 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.9) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + babel-plugin-polyfill-corejs2@0.4.3(@babel/core@7.22.5): dependencies: '@babel/compat-data': 7.22.5 @@ -21471,15 +22292,23 @@ snapshots: transitivePeerDependencies: - supports-color - babel-plugin-polyfill-corejs2@0.4.3(@babel/core@7.24.7): + babel-plugin-polyfill-corejs2@0.4.3(@babel/core@7.24.9): dependencies: '@babel/compat-data': 7.22.5 - '@babel/core': 7.24.7 - '@babel/helper-define-polyfill-provider': 0.4.0(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/helper-define-polyfill-provider': 0.4.0(@babel/core@7.24.9) semver: 6.3.1 transitivePeerDependencies: - supports-color + babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.9): + dependencies: + '@babel/core': 7.24.9 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.9) + core-js-compat: 3.37.1 + transitivePeerDependencies: + - supports-color + babel-plugin-polyfill-corejs3@0.8.1(@babel/core@7.22.5): dependencies: '@babel/core': 7.22.5 @@ -21488,10 +22317,10 @@ snapshots: transitivePeerDependencies: - supports-color - babel-plugin-polyfill-corejs3@0.8.1(@babel/core@7.24.7): + babel-plugin-polyfill-corejs3@0.8.1(@babel/core@7.24.9): dependencies: - '@babel/core': 7.24.7 - '@babel/helper-define-polyfill-provider': 0.4.0(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/helper-define-polyfill-provider': 0.4.0(@babel/core@7.24.9) core-js-compat: 3.31.0 transitivePeerDependencies: - supports-color @@ -21503,18 +22332,25 @@ snapshots: transitivePeerDependencies: - supports-color - babel-plugin-polyfill-regenerator@0.5.0(@babel/core@7.24.7): + babel-plugin-polyfill-regenerator@0.5.0(@babel/core@7.24.9): dependencies: - '@babel/core': 7.24.7 - '@babel/helper-define-polyfill-provider': 0.4.0(@babel/core@7.24.7) + '@babel/core': 7.24.9 + '@babel/helper-define-polyfill-provider': 0.4.0(@babel/core@7.24.9) + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.24.9): + dependencies: + '@babel/core': 7.24.9 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.24.9) transitivePeerDependencies: - supports-color babel-plugin-syntax-trailing-function-commas@7.0.0-beta.0: {} - babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.24.7): + babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.24.9): dependencies: - '@babel/plugin-syntax-flow': 7.24.6(@babel/core@7.24.7) + '@babel/plugin-syntax-flow': 7.24.7(@babel/core@7.24.9) transitivePeerDependencies: - '@babel/core' @@ -21716,6 +22552,10 @@ snapshots: dependencies: fill-range: 7.0.1 + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + brorand@1.1.0: {} browser-process-hrtime@1.0.0: {} @@ -21788,6 +22628,13 @@ snapshots: node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.23.0) + browserslist@4.23.2: + dependencies: + caniuse-lite: 1.0.30001643 + electron-to-chromium: 1.5.0 + node-releases: 2.0.18 + update-browserslist-db: 1.1.0(browserslist@4.23.2) + bser@2.1.1: dependencies: node-int64: 0.4.0 @@ -21874,8 +22721,8 @@ snapshots: call-bind@1.0.2: dependencies: - function-bind: 1.1.1 - get-intrinsic: 1.2.1 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 call-bind@1.0.7: dependencies: @@ -21919,6 +22766,8 @@ snapshots: caniuse-lite@1.0.30001640: {} + caniuse-lite@1.0.30001643: {} + capital-case@1.0.4: dependencies: no-case: 3.0.4 @@ -22037,7 +22886,7 @@ snapshots: chokidar@3.6.0: dependencies: anymatch: 3.1.3 - braces: 3.0.2 + braces: 3.0.3 glob-parent: 5.1.2 is-binary-path: 2.1.0 is-glob: 4.0.3 @@ -22048,7 +22897,7 @@ snapshots: chrome-launcher@0.15.2: dependencies: - '@types/node': 20.11.13 + '@types/node': 20.14.11 escape-string-regexp: 4.0.0 is-wsl: 2.2.0 lighthouse-logger: 1.4.2 @@ -22066,6 +22915,8 @@ snapshots: ci-info@3.8.0: {} + ci-info@3.9.0: {} + cipher-base@1.0.4: dependencies: inherits: 2.0.4 @@ -22182,7 +23033,7 @@ snapshots: commander@8.3.0: {} - commander@9.4.1: {} + commander@9.5.0: {} comment-parser@1.4.0: {} @@ -22257,7 +23108,7 @@ snapshots: convert-source-map@2.0.0: {} - cookie-es@1.1.0: {} + cookie-es@1.2.1: {} cookie-signature@1.0.6: {} @@ -22275,6 +23126,10 @@ snapshots: dependencies: browserslist: 4.22.1 + core-js-compat@3.37.1: + dependencies: + browserslist: 4.23.2 + core-js-pure@3.31.0: {} core-js@2.6.12: {} @@ -22375,7 +23230,7 @@ snapshots: dependencies: nice-try: 1.0.5 path-key: 2.0.1 - semver: 5.7.1 + semver: 5.7.2 shebang-command: 1.2.0 which: 1.3.1 @@ -22405,18 +23260,18 @@ snapshots: crypto-random-string@2.0.0: {} - css-blank-pseudo@3.0.3(postcss@8.4.33): + css-blank-pseudo@3.0.3(postcss@8.4.39): dependencies: - postcss: 8.4.33 + postcss: 8.4.39 postcss-selector-parser: 6.0.13 - css-declaration-sorter@6.4.0(postcss@8.4.38): + css-declaration-sorter@6.4.0(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 - css-has-pseudo@3.0.4(postcss@8.4.33): + css-has-pseudo@3.0.4(postcss@8.4.39): dependencies: - postcss: 8.4.33 + postcss: 8.4.39 postcss-selector-parser: 6.0.13 css-in-js-utils@3.1.0: @@ -22425,21 +23280,21 @@ snapshots: css-loader@6.8.1(webpack@5.88.0(esbuild@0.17.19)): dependencies: - icss-utils: 5.1.0(postcss@8.4.38) - postcss: 8.4.38 - postcss-modules-extract-imports: 3.0.0(postcss@8.4.38) - postcss-modules-local-by-default: 4.0.3(postcss@8.4.38) - postcss-modules-scope: 3.0.0(postcss@8.4.38) - postcss-modules-values: 4.0.0(postcss@8.4.38) + icss-utils: 5.1.0(postcss@8.4.39) + postcss: 8.4.39 + postcss-modules-extract-imports: 3.0.0(postcss@8.4.39) + postcss-modules-local-by-default: 4.0.3(postcss@8.4.39) + postcss-modules-scope: 3.0.0(postcss@8.4.39) + postcss-modules-values: 4.0.0(postcss@8.4.39) postcss-value-parser: 4.2.0 - semver: 7.5.4 + semver: 7.3.8 webpack: 5.88.0(esbuild@0.17.19) css-minimizer-webpack-plugin@3.4.1(esbuild@0.17.19)(webpack@5.88.0(esbuild@0.17.19)): dependencies: - cssnano: 5.1.15(postcss@8.4.38) + cssnano: 5.1.15(postcss@8.4.39) jest-worker: 27.5.1 - postcss: 8.4.38 + postcss: 8.4.39 schema-utils: 4.2.0 serialize-javascript: 6.0.1 source-map: 0.6.1 @@ -22447,9 +23302,9 @@ snapshots: optionalDependencies: esbuild: 0.17.19 - css-prefers-color-scheme@6.0.3(postcss@8.4.33): + css-prefers-color-scheme@6.0.3(postcss@8.4.39): dependencies: - postcss: 8.4.33 + postcss: 8.4.39 css-select-base-adapter@0.1.1: {} @@ -22490,48 +23345,48 @@ snapshots: cssesc@3.0.0: {} - cssnano-preset-default@5.2.14(postcss@8.4.38): - dependencies: - css-declaration-sorter: 6.4.0(postcss@8.4.38) - cssnano-utils: 3.1.0(postcss@8.4.38) - postcss: 8.4.38 - postcss-calc: 8.2.4(postcss@8.4.38) - postcss-colormin: 5.3.1(postcss@8.4.38) - postcss-convert-values: 5.1.3(postcss@8.4.38) - postcss-discard-comments: 5.1.2(postcss@8.4.38) - postcss-discard-duplicates: 5.1.0(postcss@8.4.38) - postcss-discard-empty: 5.1.1(postcss@8.4.38) - postcss-discard-overridden: 5.1.0(postcss@8.4.38) - postcss-merge-longhand: 5.1.7(postcss@8.4.38) - postcss-merge-rules: 5.1.4(postcss@8.4.38) - postcss-minify-font-values: 5.1.0(postcss@8.4.38) - postcss-minify-gradients: 5.1.1(postcss@8.4.38) - postcss-minify-params: 5.1.4(postcss@8.4.38) - postcss-minify-selectors: 5.2.1(postcss@8.4.38) - postcss-normalize-charset: 5.1.0(postcss@8.4.38) - postcss-normalize-display-values: 5.1.0(postcss@8.4.38) - postcss-normalize-positions: 5.1.1(postcss@8.4.38) - postcss-normalize-repeat-style: 5.1.1(postcss@8.4.38) - postcss-normalize-string: 5.1.0(postcss@8.4.38) - postcss-normalize-timing-functions: 5.1.0(postcss@8.4.38) - postcss-normalize-unicode: 5.1.1(postcss@8.4.38) - postcss-normalize-url: 5.1.0(postcss@8.4.38) - postcss-normalize-whitespace: 5.1.1(postcss@8.4.38) - postcss-ordered-values: 5.1.3(postcss@8.4.38) - postcss-reduce-initial: 5.1.2(postcss@8.4.38) - postcss-reduce-transforms: 5.1.0(postcss@8.4.38) - postcss-svgo: 5.1.0(postcss@8.4.38) - postcss-unique-selectors: 5.1.1(postcss@8.4.38) - - cssnano-utils@3.1.0(postcss@8.4.38): - dependencies: - postcss: 8.4.38 - - cssnano@5.1.15(postcss@8.4.38): - dependencies: - cssnano-preset-default: 5.2.14(postcss@8.4.38) + cssnano-preset-default@5.2.14(postcss@8.4.39): + dependencies: + css-declaration-sorter: 6.4.0(postcss@8.4.39) + cssnano-utils: 3.1.0(postcss@8.4.39) + postcss: 8.4.39 + postcss-calc: 8.2.4(postcss@8.4.39) + postcss-colormin: 5.3.1(postcss@8.4.39) + postcss-convert-values: 5.1.3(postcss@8.4.39) + postcss-discard-comments: 5.1.2(postcss@8.4.39) + postcss-discard-duplicates: 5.1.0(postcss@8.4.39) + postcss-discard-empty: 5.1.1(postcss@8.4.39) + postcss-discard-overridden: 5.1.0(postcss@8.4.39) + postcss-merge-longhand: 5.1.7(postcss@8.4.39) + postcss-merge-rules: 5.1.4(postcss@8.4.39) + postcss-minify-font-values: 5.1.0(postcss@8.4.39) + postcss-minify-gradients: 5.1.1(postcss@8.4.39) + postcss-minify-params: 5.1.4(postcss@8.4.39) + postcss-minify-selectors: 5.2.1(postcss@8.4.39) + postcss-normalize-charset: 5.1.0(postcss@8.4.39) + postcss-normalize-display-values: 5.1.0(postcss@8.4.39) + postcss-normalize-positions: 5.1.1(postcss@8.4.39) + postcss-normalize-repeat-style: 5.1.1(postcss@8.4.39) + postcss-normalize-string: 5.1.0(postcss@8.4.39) + postcss-normalize-timing-functions: 5.1.0(postcss@8.4.39) + postcss-normalize-unicode: 5.1.1(postcss@8.4.39) + postcss-normalize-url: 5.1.0(postcss@8.4.39) + postcss-normalize-whitespace: 5.1.1(postcss@8.4.39) + postcss-ordered-values: 5.1.3(postcss@8.4.39) + postcss-reduce-initial: 5.1.2(postcss@8.4.39) + postcss-reduce-transforms: 5.1.0(postcss@8.4.39) + postcss-svgo: 5.1.0(postcss@8.4.39) + postcss-unique-selectors: 5.1.1(postcss@8.4.39) + + cssnano-utils@3.1.0(postcss@8.4.39): + dependencies: + postcss: 8.4.39 + + cssnano@5.1.15(postcss@8.4.39): + dependencies: + cssnano-preset-default: 5.2.14(postcss@8.4.39) lilconfig: 2.1.0 - postcss: 8.4.38 + postcss: 8.4.39 yaml: 1.10.2 csso@4.2.0: @@ -22584,11 +23439,11 @@ snapshots: date-fns@2.30.0: dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.24.8 dayjs@1.11.10: {} - dayjs@1.11.11: {} + dayjs@1.11.12: {} debounce@1.2.1: {} @@ -22669,12 +23524,6 @@ snapshots: defer-to-connect@2.0.1: {} - define-data-property@1.1.1: - dependencies: - get-intrinsic: 1.2.4 - gopd: 1.0.1 - has-property-descriptors: 1.0.2 - define-data-property@1.1.4: dependencies: es-define-property: 1.0.0 @@ -22685,13 +23534,13 @@ snapshots: define-properties@1.2.0: dependencies: - has-property-descriptors: 1.0.0 + has-property-descriptors: 1.0.2 object-keys: 1.1.1 define-properties@1.2.1: dependencies: - define-data-property: 1.1.1 - has-property-descriptors: 1.0.0 + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 object-keys: 1.1.1 defu@6.1.4: {} @@ -22860,7 +23709,7 @@ snapshots: optionalDependencies: wcwidth: 1.0.1 - eciesjs@0.3.18: + eciesjs@0.3.19: dependencies: '@types/secp256k1': 4.0.6 futoin-hkdf: 1.5.3 @@ -22892,6 +23741,8 @@ snapshots: electron-to-chromium@1.4.747: {} + electron-to-chromium@1.5.0: {} + elliptic@6.5.4: dependencies: bn.js: 4.12.0 @@ -22902,6 +23753,16 @@ snapshots: minimalistic-assert: 1.0.1 minimalistic-crypto-utils: 1.0.1 + elliptic@6.5.6: + dependencies: + bn.js: 4.12.0 + brorand: 1.1.0 + hash.js: 1.1.7 + hmac-drbg: 1.0.1 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + emittery@0.10.2: {} emittery@0.8.1: {} @@ -22932,8 +23793,22 @@ snapshots: - supports-color - utf-8-validate + engine.io-client@6.5.4(bufferutil@4.0.8)(utf-8-validate@6.0.4): + dependencies: + '@socket.io/component-emitter': 3.1.2 + debug: 4.3.5(supports-color@5.5.0) + engine.io-parser: 5.2.3 + ws: 8.17.1(bufferutil@4.0.8)(utf-8-validate@6.0.4) + xmlhttprequest-ssl: 2.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + engine.io-parser@5.2.2: {} + engine.io-parser@5.2.3: {} + enhanced-resolve@5.15.0: dependencies: graceful-fs: 4.2.11 @@ -22968,19 +23843,19 @@ snapshots: dependencies: array-buffer-byte-length: 1.0.1 available-typed-arrays: 1.0.5 - call-bind: 1.0.7 - es-set-tostringtag: 2.0.1 + call-bind: 1.0.2 + es-set-tostringtag: 2.0.3 es-to-primitive: 1.2.1 function.prototype.name: 1.1.5 get-intrinsic: 1.2.4 get-symbol-description: 1.0.0 - globalthis: 1.0.3 + globalthis: 1.0.4 gopd: 1.0.1 has: 1.0.3 - has-property-descriptors: 1.0.0 - has-proto: 1.0.1 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 has-symbols: 1.0.3 - internal-slot: 1.0.5 + internal-slot: 1.0.7 is-array-buffer: 3.0.4 is-callable: 1.2.7 is-negative-zero: 2.0.2 @@ -22991,7 +23866,7 @@ snapshots: is-weakref: 1.0.2 object-inspect: 1.12.3 object-keys: 1.1.1 - object.assign: 4.1.5 + object.assign: 4.1.4 regexp.prototype.flags: 1.5.2 safe-regex-test: 1.0.0 string.prototype.trim: 1.2.7 @@ -23007,18 +23882,18 @@ snapshots: arraybuffer.prototype.slice: 1.0.2 available-typed-arrays: 1.0.5 call-bind: 1.0.7 - es-set-tostringtag: 2.0.1 + es-set-tostringtag: 2.0.3 es-to-primitive: 1.2.1 function.prototype.name: 1.1.6 get-intrinsic: 1.2.4 get-symbol-description: 1.0.0 - globalthis: 1.0.3 + globalthis: 1.0.4 gopd: 1.0.1 - has-property-descriptors: 1.0.0 - has-proto: 1.0.1 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 has-symbols: 1.0.3 hasown: 2.0.0 - internal-slot: 1.0.5 + internal-slot: 1.0.7 is-array-buffer: 3.0.4 is-callable: 1.2.7 is-negative-zero: 2.0.2 @@ -23031,7 +23906,7 @@ snapshots: object-keys: 1.1.1 object.assign: 4.1.5 regexp.prototype.flags: 1.5.2 - safe-array-concat: 1.0.1 + safe-array-concat: 1.1.2 safe-regex-test: 1.0.0 string.prototype.trim: 1.2.8 string.prototype.trimend: 1.0.7 @@ -23060,7 +23935,7 @@ snapshots: function.prototype.name: 1.1.6 get-intrinsic: 1.2.4 get-symbol-description: 1.0.2 - globalthis: 1.0.3 + globalthis: 1.0.4 gopd: 1.0.1 has-property-descriptors: 1.0.2 has-proto: 1.0.3 @@ -23076,7 +23951,7 @@ snapshots: is-string: 1.0.7 is-typed-array: 1.1.13 is-weakref: 1.0.2 - object-inspect: 1.13.1 + object-inspect: 1.13.2 object-keys: 1.1.1 object.assign: 4.1.5 regexp.prototype.flags: 1.5.2 @@ -23121,7 +23996,7 @@ snapshots: es-set-tostringtag: 2.0.3 function-bind: 1.1.2 get-intrinsic: 1.2.4 - globalthis: 1.0.3 + globalthis: 1.0.4 has-property-descriptors: 1.0.2 has-proto: 1.0.3 has-symbols: 1.0.3 @@ -23135,12 +24010,6 @@ snapshots: dependencies: es-errors: 1.3.0 - es-set-tostringtag@2.0.1: - dependencies: - get-intrinsic: 1.2.4 - has: 1.0.3 - has-tostringtag: 1.0.2 - es-set-tostringtag@2.0.3: dependencies: get-intrinsic: 1.2.4 @@ -23243,6 +24112,8 @@ snapshots: escalade@3.1.1: {} + escalade@3.1.2: {} + escape-html@1.0.3: {} escape-string-regexp@1.0.5: {} @@ -23286,7 +24157,7 @@ snapshots: eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.9.1(eslint@8.54.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.54.0) eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.9.1(eslint@8.57.0)(typescript@5.4.5))(eslint@8.54.0) eslint-plugin-jsx-a11y: 6.9.0(eslint@8.54.0) - eslint-plugin-react: 7.34.4(eslint@8.54.0) + eslint-plugin-react: 7.35.0(eslint@8.54.0) eslint-plugin-react-hooks: 4.6.2(eslint@8.54.0) optionalDependencies: typescript: 5.2.2 @@ -23304,7 +24175,7 @@ snapshots: eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.9.1(eslint@8.54.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.54.0) eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.9.1(eslint@8.54.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint@8.54.0) eslint-plugin-jsx-a11y: 6.9.0(eslint@8.54.0) - eslint-plugin-react: 7.34.4(eslint@8.54.0) + eslint-plugin-react: 7.35.0(eslint@8.54.0) eslint-plugin-react-hooks: 4.6.2(eslint@8.54.0) optionalDependencies: typescript: 5.4.5 @@ -23316,7 +24187,7 @@ snapshots: dependencies: eslint: 8.57.0 - eslint-config-react-app@7.0.1(@babel/plugin-syntax-flow@7.24.6(@babel/core@7.22.5))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.22.5))(eslint@8.57.0)(jest@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.34)(typescript@5.4.5))(utf-8-validate@6.0.4))(typescript@5.4.5): + eslint-config-react-app@7.0.1(@babel/plugin-syntax-flow@7.24.7(@babel/core@7.22.5))(@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.22.5))(eslint@8.57.0)(jest@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@20.14.11)(typescript@5.4.5))(utf-8-validate@6.0.4))(typescript@5.4.5): dependencies: '@babel/core': 7.22.5 '@babel/eslint-parser': 7.22.5(@babel/core@7.22.5)(eslint@8.57.0) @@ -23326,11 +24197,11 @@ snapshots: babel-preset-react-app: 10.0.1 confusing-browser-globals: 1.0.11 eslint: 8.57.0 - eslint-plugin-flowtype: 8.0.3(@babel/plugin-syntax-flow@7.24.6(@babel/core@7.22.5))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.22.5))(eslint@8.57.0) + eslint-plugin-flowtype: 8.0.3(@babel/plugin-syntax-flow@7.24.7(@babel/core@7.22.5))(@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.22.5))(eslint@8.57.0) eslint-plugin-import: 2.26.0(@typescript-eslint/parser@5.59.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0) - eslint-plugin-jest: 25.7.0(@typescript-eslint/eslint-plugin@5.59.0(@typescript-eslint/parser@5.59.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(jest@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.34)(typescript@5.4.5))(utf-8-validate@6.0.4))(typescript@5.4.5) + eslint-plugin-jest: 25.7.0(@typescript-eslint/eslint-plugin@5.59.0(@typescript-eslint/parser@5.59.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(jest@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@20.14.11)(typescript@5.4.5))(utf-8-validate@6.0.4))(typescript@5.4.5) eslint-plugin-jsx-a11y: 6.6.1(eslint@8.57.0) - eslint-plugin-react: 7.31.10(eslint@8.57.0) + eslint-plugin-react: 7.35.0(eslint@8.57.0) eslint-plugin-react-hooks: 4.6.0(eslint@8.57.0) eslint-plugin-testing-library: 5.11.0(eslint@8.57.0)(typescript@5.4.5) optionalDependencies: @@ -23443,17 +24314,17 @@ snapshots: eslint: 8.57.0 ignore: 5.2.4 - eslint-plugin-flowtype@8.0.3(@babel/plugin-syntax-flow@7.24.6(@babel/core@7.22.5))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.22.5))(eslint@8.57.0): + eslint-plugin-flowtype@8.0.3(@babel/plugin-syntax-flow@7.24.7(@babel/core@7.22.5))(@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.22.5))(eslint@8.57.0): dependencies: - '@babel/plugin-syntax-flow': 7.24.6(@babel/core@7.22.5) - '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.22.5) + '@babel/plugin-syntax-flow': 7.24.7(@babel/core@7.22.5) + '@babel/plugin-transform-react-jsx': 7.24.7(@babel/core@7.22.5) eslint: 8.57.0 lodash: 4.17.21 string-natural-compare: 3.0.1 eslint-plugin-import@2.26.0(@typescript-eslint/parser@5.59.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0): dependencies: - array-includes: 3.1.6 + array-includes: 3.1.8 array.prototype.flat: 1.3.1 debug: 2.6.9 doctrine: 2.1.0 @@ -23464,7 +24335,7 @@ snapshots: is-core-module: 2.12.1 is-glob: 4.0.3 minimatch: 3.1.2 - object.values: 1.1.6 + object.values: 1.2.0 resolve: 1.22.8 tsconfig-paths: 3.14.2 optionalDependencies: @@ -23555,13 +24426,13 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-plugin-jest@25.7.0(@typescript-eslint/eslint-plugin@5.59.0(@typescript-eslint/parser@5.59.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(jest@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.34)(typescript@5.4.5))(utf-8-validate@6.0.4))(typescript@5.4.5): + eslint-plugin-jest@25.7.0(@typescript-eslint/eslint-plugin@5.59.0(@typescript-eslint/parser@5.59.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(jest@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@20.14.11)(typescript@5.4.5))(utf-8-validate@6.0.4))(typescript@5.4.5): dependencies: '@typescript-eslint/experimental-utils': 5.60.1(eslint@8.57.0)(typescript@5.4.5) eslint: 8.57.0 optionalDependencies: '@typescript-eslint/eslint-plugin': 5.59.0(@typescript-eslint/parser@5.59.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5) - jest: 27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.34)(typescript@5.4.5))(utf-8-validate@6.0.4) + jest: 27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@20.14.11)(typescript@5.4.5))(utf-8-validate@6.0.4) transitivePeerDependencies: - supports-color - typescript @@ -23585,7 +24456,7 @@ snapshots: dependencies: '@babel/runtime': 7.24.7 aria-query: 4.2.2 - array-includes: 3.1.6 + array-includes: 3.1.8 ast-types-flow: 0.0.7 axe-core: 4.7.2 axobject-query: 2.2.0 @@ -23593,10 +24464,10 @@ snapshots: emoji-regex: 9.2.2 eslint: 8.57.0 has: 1.0.3 - jsx-ast-utils: 3.3.3 + jsx-ast-utils: 3.3.5 language-tags: 1.0.8 minimatch: 3.1.2 - semver: 6.3.0 + semver: 6.3.1 eslint-plugin-jsx-a11y@6.9.0(eslint@8.54.0): dependencies: @@ -23638,12 +24509,12 @@ snapshots: safe-regex-test: 1.0.3 string.prototype.includes: 2.0.0 - eslint-plugin-prettier@5.1.3(@types/eslint@8.40.2)(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.3.3): + eslint-plugin-prettier@5.2.1(@types/eslint@8.40.2)(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.3.3): dependencies: eslint: 8.57.0 prettier: 3.3.3 prettier-linter-helpers: 1.0.0 - synckit: 0.8.8 + synckit: 0.9.1 optionalDependencies: '@types/eslint': 8.40.2 eslint-config-prettier: 9.1.0(eslint@8.57.0) @@ -23660,34 +24531,15 @@ snapshots: dependencies: eslint: 8.57.0 - eslint-plugin-react-refresh@0.4.8(eslint@8.57.0): - dependencies: - eslint: 8.57.0 - - eslint-plugin-react@7.31.10(eslint@8.57.0): + eslint-plugin-react-refresh@0.4.9(eslint@8.57.0): dependencies: - array-includes: 3.1.6 - array.prototype.flatmap: 1.3.1 - doctrine: 2.1.0 eslint: 8.57.0 - estraverse: 5.3.0 - jsx-ast-utils: 3.3.3 - minimatch: 3.1.2 - object.entries: 1.1.6 - object.fromentries: 2.0.6 - object.hasown: 1.1.2 - object.values: 1.1.6 - prop-types: 15.8.1 - resolve: 2.0.0-next.4 - semver: 6.3.0 - string.prototype.matchall: 4.0.8 - eslint-plugin-react@7.34.4(eslint@8.54.0): + eslint-plugin-react@7.35.0(eslint@8.54.0): dependencies: array-includes: 3.1.8 array.prototype.findlast: 1.2.5 array.prototype.flatmap: 1.3.2 - array.prototype.toreversed: 1.1.2 array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 es-iterator-helpers: 1.0.19 @@ -23705,12 +24557,11 @@ snapshots: string.prototype.matchall: 4.0.11 string.prototype.repeat: 1.0.0 - eslint-plugin-react@7.34.4(eslint@8.57.0): + eslint-plugin-react@7.35.0(eslint@8.57.0): dependencies: array-includes: 3.1.8 array.prototype.findlast: 1.2.5 array.prototype.flatmap: 1.3.2 - array.prototype.toreversed: 1.1.2 array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 es-iterator-helpers: 1.0.19 @@ -23760,7 +24611,7 @@ snapshots: '@types/eslint': 8.40.2 eslint: 8.57.0 jest-worker: 28.1.3 - micromatch: 4.0.5 + micromatch: 4.0.7 normalize-path: 3.0.0 schema-utils: 4.2.0 webpack: 5.88.0(esbuild@0.17.19) @@ -23917,6 +24768,13 @@ snapshots: '@scure/bip32': 1.3.3 '@scure/bip39': 1.2.2 + ethereum-cryptography@2.2.1: + dependencies: + '@noble/curves': 1.4.2 + '@noble/hashes': 1.4.0 + '@scure/bip32': 1.4.0 + '@scure/bip39': 1.3.0 + ethers@6.13.1(bufferutil@4.0.8)(utf-8-validate@6.0.4): dependencies: '@adraffy/ens-normalize': 1.10.1 @@ -24069,7 +24927,7 @@ snapshots: '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 + micromatch: 4.0.7 fast-glob@3.3.2: dependencies: @@ -24077,14 +24935,12 @@ snapshots: '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 + micromatch: 4.0.7 fast-json-stable-stringify@2.1.0: {} fast-levenshtein@2.0.6: {} - fast-loops@1.1.3: {} - fast-querystring@1.1.2: dependencies: fast-decode-uri-component: 1.0.1 @@ -24105,7 +24961,7 @@ snapshots: fastest-stable-stringify@2.0.2: {} - fastq@1.15.0: + fastq@1.17.1: dependencies: reusify: 1.0.4 @@ -24172,6 +25028,10 @@ snapshots: dependencies: to-regex-range: 5.0.1 + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + filter-obj@1.1.0: {} finalhandler@1.1.2: @@ -24230,7 +25090,7 @@ snapshots: find-yarn-workspace-root2@1.2.16: dependencies: - micromatch: 4.0.5 + micromatch: 4.0.7 pkg-dir: 4.2.0 flat-cache@2.0.1: @@ -24252,7 +25112,7 @@ snapshots: flow-enums-runtime@0.0.6: {} - flow-parser@0.237.2: {} + flow-parser@0.241.0: {} focus-trap@7.5.4: dependencies: @@ -24287,7 +25147,7 @@ snapshots: memfs: 3.5.3 minimatch: 3.1.2 schema-utils: 2.7.0 - semver: 7.5.4 + semver: 7.3.8 tapable: 1.1.3 typescript: 5.4.5 webpack: 5.88.0(esbuild@0.17.19) @@ -24364,22 +25224,20 @@ snapshots: mkdirp: 0.5.6 rimraf: 2.6.3 - function-bind@1.1.1: {} - function-bind@1.1.2: {} function.prototype.name@1.1.5: dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.3 + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 functions-have-names: 1.2.3 function.prototype.name@1.1.6: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.23.3 functions-have-names: 1.2.3 functions-have-names@1.2.3: {} @@ -24416,9 +25274,9 @@ snapshots: get-intrinsic@1.2.1: dependencies: - function-bind: 1.1.1 + function-bind: 1.1.2 has: 1.0.3 - has-proto: 1.0.1 + has-proto: 1.0.3 has-symbols: 1.0.3 get-intrinsic@1.2.4: @@ -24451,7 +25309,7 @@ snapshots: get-symbol-description@1.0.0: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.2 get-intrinsic: 1.2.4 get-symbol-description@1.0.2: @@ -24537,9 +25395,10 @@ snapshots: dependencies: type-fest: 0.20.2 - globalthis@1.0.3: + globalthis@1.0.4: dependencies: - define-properties: 1.2.0 + define-properties: 1.2.1 + gopd: 1.0.1 globby@11.1.0: dependencies: @@ -24578,20 +25437,20 @@ snapshots: graphemer@1.4.0: {} - graphql-config@5.0.3(@types/node@20.11.13)(bufferutil@4.0.8)(cosmiconfig-toml-loader@1.0.0)(graphql@16.9.0)(typescript@5.4.5)(utf-8-validate@6.0.4): + graphql-config@5.0.3(@types/node@20.14.11)(bufferutil@4.0.8)(cosmiconfig-toml-loader@1.0.0)(graphql@16.9.0)(typescript@5.4.5)(utf-8-validate@6.0.4): dependencies: '@graphql-tools/graphql-file-loader': 8.0.1(graphql@16.9.0) '@graphql-tools/json-file-loader': 8.0.1(graphql@16.9.0) '@graphql-tools/load': 8.0.2(graphql@16.9.0) '@graphql-tools/merge': 9.0.4(graphql@16.9.0) - '@graphql-tools/url-loader': 8.0.2(@types/node@20.11.13)(bufferutil@4.0.8)(graphql@16.9.0)(utf-8-validate@6.0.4) + '@graphql-tools/url-loader': 8.0.2(@types/node@20.14.11)(bufferutil@4.0.8)(graphql@16.9.0)(utf-8-validate@6.0.4) '@graphql-tools/utils': 10.2.2(graphql@16.9.0) cosmiconfig: 8.3.6(typescript@5.4.5) graphql: 16.9.0 - jiti: 1.21.0 + jiti: 1.21.6 minimatch: 4.2.3 string-env-interpolation: 1.0.1 - tslib: 2.6.0 + tslib: 2.6.3 optionalDependencies: cosmiconfig-toml-loader: 1.0.0 transitivePeerDependencies: @@ -24638,18 +25497,18 @@ snapshots: dependencies: duplexer: 0.1.2 - h3@1.11.1: + h3@1.12.0: dependencies: - cookie-es: 1.1.0 + cookie-es: 1.2.1 crossws: 0.2.4 defu: 6.1.4 destr: 2.0.3 iron-webcrypto: 1.2.1 ohash: 1.1.3 radix3: 1.1.2 - ufo: 1.5.3 + ufo: 1.5.4 uncrypto: 0.1.3 - unenv: 1.9.0 + unenv: 1.10.0 transitivePeerDependencies: - uWebSockets.js @@ -24681,31 +25540,21 @@ snapshots: has-flag@4.0.0: {} - has-property-descriptors@1.0.0: - dependencies: - get-intrinsic: 1.2.4 - has-property-descriptors@1.0.2: dependencies: es-define-property: 1.0.0 - has-proto@1.0.1: {} - has-proto@1.0.3: {} has-symbols@1.0.3: {} - has-tostringtag@1.0.0: - dependencies: - has-symbols: 1.0.3 - has-tostringtag@1.0.2: dependencies: has-symbols: 1.0.3 has@1.0.3: dependencies: - function-bind: 1.1.1 + function-bind: 1.1.2 hash-base@3.1.0: dependencies: @@ -24855,7 +25704,7 @@ snapshots: http-proxy: 1.18.1 is-glob: 4.0.3 is-plain-obj: 3.0.0 - micromatch: 4.0.5 + micromatch: 4.0.7 optionalDependencies: '@types/express': 4.17.17 transitivePeerDependencies: @@ -24904,11 +25753,11 @@ snapshots: i18next-browser-languagedetector@7.1.0: dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.24.8 i18next@22.5.1: dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.24.8 iconv-lite@0.4.24: dependencies: @@ -24918,9 +25767,9 @@ snapshots: dependencies: safer-buffer: 2.1.2 - icss-utils@5.1.0(postcss@8.4.38): + icss-utils@5.1.0(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 idb-keyval@6.2.1: {} @@ -24938,6 +25787,8 @@ snapshots: ignore@5.3.0: {} + ignore@5.3.1: {} + image-size@1.1.1: dependencies: queue: 6.0.2 @@ -24982,10 +25833,9 @@ snapshots: ini@1.3.8: {} - inline-style-prefixer@7.0.0: + inline-style-prefixer@7.0.1: dependencies: css-in-js-utils: 3.1.0 - fast-loops: 1.1.3 inquirer@8.2.5: dependencies: @@ -25005,12 +25855,6 @@ snapshots: through: 2.3.8 wrap-ansi: 7.0.0 - internal-slot@1.0.5: - dependencies: - get-intrinsic: 1.2.4 - has: 1.0.3 - side-channel: 1.0.6 - internal-slot@1.0.7: dependencies: es-errors: 1.3.0 @@ -25090,6 +25934,10 @@ snapshots: dependencies: hasown: 2.0.0 + is-core-module@2.15.0: + dependencies: + hasown: 2.0.2 + is-data-view@1.0.1: dependencies: is-typed-array: 1.1.13 @@ -25142,6 +25990,8 @@ snapshots: is-map@2.0.2: {} + is-map@2.0.3: {} + is-module@1.0.0: {} is-nan@1.3.2: @@ -25190,6 +26040,8 @@ snapshots: is-set@2.0.2: {} + is-set@2.0.3: {} + is-shared-array-buffer@1.0.3: dependencies: call-bind: 1.0.7 @@ -25200,7 +26052,7 @@ snapshots: is-string@1.0.7: dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 is-subdir@1.2.0: dependencies: @@ -25212,8 +26064,8 @@ snapshots: is-typed-array@1.1.10: dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 for-each: 0.3.3 gopd: 1.0.1 has-tostringtag: 1.0.2 @@ -25242,6 +26094,8 @@ snapshots: is-weakmap@2.0.1: {} + is-weakmap@2.0.2: {} + is-weakref@1.0.2: dependencies: call-bind: 1.0.7 @@ -25251,6 +26105,11 @@ snapshots: call-bind: 1.0.7 get-intrinsic: 1.2.4 + is-weakset@2.0.3: + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + is-what@4.1.16: {} is-windows@1.0.2: {} @@ -25305,7 +26164,7 @@ snapshots: istanbul-lib-instrument@5.2.1: dependencies: '@babel/core': 7.24.4 - '@babel/parser': 7.24.7 + '@babel/parser': 7.24.8 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 6.3.1 @@ -25318,7 +26177,7 @@ snapshots: '@babel/parser': 7.24.4 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 - semver: 7.5.4 + semver: 7.6.3 transitivePeerDependencies: - supports-color @@ -25328,7 +26187,7 @@ snapshots: '@babel/parser': 7.24.7 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 - semver: 7.5.4 + semver: 7.6.3 transitivePeerDependencies: - supports-color @@ -25375,8 +26234,8 @@ snapshots: define-properties: 1.2.1 get-intrinsic: 1.2.4 has-symbols: 1.0.3 - reflect.getprototypeof: 1.0.4 - set-function-name: 2.0.1 + reflect.getprototypeof: 1.0.6 + set-function-name: 2.0.2 jackspeak@2.2.1: dependencies: @@ -25408,7 +26267,7 @@ snapshots: '@jest/environment': 27.5.1 '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.11.13 + '@types/node': 20.14.11 chalk: 4.1.2 co: 4.6.0 dedent: 0.7.0 @@ -25427,16 +26286,16 @@ snapshots: transitivePeerDependencies: - supports-color - jest-cli@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.34)(typescript@5.4.5))(utf-8-validate@6.0.4): + jest-cli@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@20.14.11)(typescript@5.4.5))(utf-8-validate@6.0.4): dependencies: - '@jest/core': 27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.34)(typescript@5.4.5))(utf-8-validate@6.0.4) + '@jest/core': 27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@20.14.11)(typescript@5.4.5))(utf-8-validate@6.0.4) '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 import-local: 3.1.0 - jest-config: 27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.34)(typescript@5.4.5))(utf-8-validate@6.0.4) + jest-config: 27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@20.14.11)(typescript@5.4.5))(utf-8-validate@6.0.4) jest-util: 27.5.1 jest-validate: 27.5.1 prompts: 2.4.2 @@ -25448,7 +26307,7 @@ snapshots: - ts-node - utf-8-validate - jest-config@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.34)(typescript@5.4.5))(utf-8-validate@6.0.4): + jest-config@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@20.14.11)(typescript@5.4.5))(utf-8-validate@6.0.4): dependencies: '@babel/core': 7.24.4 '@jest/test-sequencer': 27.5.1 @@ -25469,13 +26328,13 @@ snapshots: jest-runner: 27.5.1(bufferutil@4.0.8)(utf-8-validate@6.0.4) jest-util: 27.5.1 jest-validate: 27.5.1 - micromatch: 4.0.5 + micromatch: 4.0.7 parse-json: 5.2.0 pretty-format: 27.5.1 slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - ts-node: 10.9.1(@types/node@16.18.34)(typescript@5.4.5) + ts-node: 10.9.1(@types/node@20.14.11)(typescript@5.4.5) transitivePeerDependencies: - bufferutil - canvas @@ -25513,7 +26372,7 @@ snapshots: '@jest/environment': 27.5.1 '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.11.13 + '@types/node': 20.14.11 jest-mock: 27.5.1 jest-util: 27.5.1 jsdom: 16.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) @@ -25528,7 +26387,7 @@ snapshots: '@jest/environment': 27.5.1 '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.11.13 + '@types/node': 20.14.11 jest-mock: 27.5.1 jest-util: 27.5.1 @@ -25537,7 +26396,7 @@ snapshots: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.11.13 + '@types/node': 20.14.11 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -25551,7 +26410,7 @@ snapshots: dependencies: '@jest/types': 27.5.1 '@types/graceful-fs': 4.1.6 - '@types/node': 20.11.13 + '@types/node': 20.14.11 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -25559,7 +26418,7 @@ snapshots: jest-serializer: 27.5.1 jest-util: 27.5.1 jest-worker: 27.5.1 - micromatch: 4.0.5 + micromatch: 4.0.7 walker: 1.0.8 optionalDependencies: fsevents: 2.3.3 @@ -25570,7 +26429,7 @@ snapshots: '@jest/source-map': 27.5.1 '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.11.13 + '@types/node': 20.14.11 chalk: 4.1.2 co: 4.6.0 expect: 27.5.1 @@ -25612,7 +26471,7 @@ snapshots: '@types/stack-utils': 2.0.1 chalk: 4.1.2 graceful-fs: 4.2.11 - micromatch: 4.0.5 + micromatch: 4.0.7 pretty-format: 27.5.1 slash: 3.0.0 stack-utils: 2.0.6 @@ -25624,7 +26483,7 @@ snapshots: '@types/stack-utils': 2.0.1 chalk: 4.1.2 graceful-fs: 4.2.11 - micromatch: 4.0.5 + micromatch: 4.0.7 pretty-format: 28.1.3 slash: 3.0.0 stack-utils: 2.0.6 @@ -25636,7 +26495,7 @@ snapshots: '@types/stack-utils': 2.0.1 chalk: 4.1.2 graceful-fs: 4.2.11 - micromatch: 4.0.5 + micromatch: 4.0.7 pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.6 @@ -25645,10 +26504,10 @@ snapshots: dependencies: '@babel/code-frame': 7.24.7 '@jest/types': 29.6.3 - '@types/stack-utils': 2.0.1 + '@types/stack-utils': 2.0.3 chalk: 4.1.2 graceful-fs: 4.2.11 - micromatch: 4.0.5 + micromatch: 4.0.7 pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.6 @@ -25656,12 +26515,12 @@ snapshots: jest-mock@27.5.1: dependencies: '@jest/types': 27.5.1 - '@types/node': 20.11.13 + '@types/node': 20.14.11 jest-mock@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 20.11.13 + '@types/node': 20.14.11 jest-util: 29.7.0 jest-pnp-resolver@1.2.3(jest-resolve@27.5.1): @@ -25700,7 +26559,7 @@ snapshots: '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.11.13 + '@types/node': 20.14.11 chalk: 4.1.2 emittery: 0.8.1 graceful-fs: 4.2.11 @@ -25751,7 +26610,7 @@ snapshots: jest-serializer@27.5.1: dependencies: - '@types/node': 20.11.13 + '@types/node': 20.14.11 graceful-fs: 4.2.11 jest-snapshot@27.5.1: @@ -25760,7 +26619,7 @@ snapshots: '@babel/generator': 7.24.4 '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.24.4) '@babel/traverse': 7.24.1 - '@babel/types': 7.24.6 + '@babel/types': 7.24.9 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 '@types/babel__traverse': 7.20.1 @@ -25777,14 +26636,14 @@ snapshots: jest-util: 27.5.1 natural-compare: 1.4.0 pretty-format: 27.5.1 - semver: 7.5.4 + semver: 7.3.8 transitivePeerDependencies: - supports-color jest-util@27.5.1: dependencies: '@jest/types': 27.5.1 - '@types/node': 20.11.13 + '@types/node': 20.14.11 chalk: 4.1.2 ci-info: 3.8.0 graceful-fs: 4.2.11 @@ -25793,7 +26652,7 @@ snapshots: jest-util@28.1.3: dependencies: '@jest/types': 28.1.3 - '@types/node': 20.11.13 + '@types/node': 20.14.11 chalk: 4.1.2 ci-info: 3.8.0 graceful-fs: 4.2.11 @@ -25802,7 +26661,7 @@ snapshots: jest-util@29.5.0: dependencies: '@jest/types': 29.5.0 - '@types/node': 20.11.13 + '@types/node': 20.14.11 chalk: 4.1.2 ci-info: 3.8.0 graceful-fs: 4.2.11 @@ -25811,9 +26670,9 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 20.11.13 + '@types/node': 20.14.11 chalk: 4.1.2 - ci-info: 3.8.0 + ci-info: 3.9.0 graceful-fs: 4.2.11 picomatch: 2.3.1 @@ -25835,11 +26694,11 @@ snapshots: leven: 3.1.0 pretty-format: 29.7.0 - jest-watch-typeahead@1.1.0(jest@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.34)(typescript@5.4.5))(utf-8-validate@6.0.4)): + jest-watch-typeahead@1.1.0(jest@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@20.14.11)(typescript@5.4.5))(utf-8-validate@6.0.4)): dependencies: ansi-escapes: 4.3.2 chalk: 4.1.2 - jest: 27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.34)(typescript@5.4.5))(utf-8-validate@6.0.4) + jest: 27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@20.14.11)(typescript@5.4.5))(utf-8-validate@6.0.4) jest-regex-util: 28.0.2 jest-watcher: 28.1.3 slash: 4.0.0 @@ -25850,7 +26709,7 @@ snapshots: dependencies: '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 - '@types/node': 20.11.13 + '@types/node': 20.14.11 ansi-escapes: 4.3.2 chalk: 4.1.2 jest-util: 27.5.1 @@ -25860,7 +26719,7 @@ snapshots: dependencies: '@jest/test-result': 28.1.3 '@jest/types': 28.1.3 - '@types/node': 20.11.13 + '@types/node': 20.14.11 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.10.2 @@ -25869,34 +26728,34 @@ snapshots: jest-worker@26.6.2: dependencies: - '@types/node': 20.11.13 + '@types/node': 20.14.11 merge-stream: 2.0.0 supports-color: 7.2.0 jest-worker@27.5.1: dependencies: - '@types/node': 20.11.13 + '@types/node': 20.14.11 merge-stream: 2.0.0 supports-color: 8.1.1 jest-worker@28.1.3: dependencies: - '@types/node': 20.11.13 + '@types/node': 20.14.11 merge-stream: 2.0.0 supports-color: 8.1.1 jest-worker@29.7.0: dependencies: - '@types/node': 20.11.13 + '@types/node': 20.14.11 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 - jest@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.34)(typescript@5.4.5))(utf-8-validate@6.0.4): + jest@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@20.14.11)(typescript@5.4.5))(utf-8-validate@6.0.4): dependencies: - '@jest/core': 27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.34)(typescript@5.4.5))(utf-8-validate@6.0.4) + '@jest/core': 27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@20.14.11)(typescript@5.4.5))(utf-8-validate@6.0.4) import-local: 3.1.0 - jest-cli: 27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.34)(typescript@5.4.5))(utf-8-validate@6.0.4) + jest-cli: 27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@20.14.11)(typescript@5.4.5))(utf-8-validate@6.0.4) transitivePeerDependencies: - bufferutil - canvas @@ -25910,7 +26769,7 @@ snapshots: jju@1.4.0: {} - joi@17.13.1: + joi@17.13.3: dependencies: '@hapi/hoek': 9.3.0 '@hapi/topo': 5.1.0 @@ -25941,23 +26800,23 @@ snapshots: jsc-safe-url@0.2.4: {} - jscodeshift@0.14.0(@babel/preset-env@7.22.5(@babel/core@7.24.7)): - dependencies: - '@babel/core': 7.24.7 - '@babel/parser': 7.24.7 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.7) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.24.7) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.24.7) - '@babel/plugin-transform-modules-commonjs': 7.22.5(@babel/core@7.24.7) - '@babel/preset-env': 7.22.5(@babel/core@7.24.7) - '@babel/preset-flow': 7.24.6(@babel/core@7.24.7) - '@babel/preset-typescript': 7.22.5(@babel/core@7.24.7) - '@babel/register': 7.24.6(@babel/core@7.24.7) - babel-core: 7.0.0-bridge.0(@babel/core@7.24.7) + jscodeshift@0.14.0(@babel/preset-env@7.22.5(@babel/core@7.24.9)): + dependencies: + '@babel/core': 7.24.9 + '@babel/parser': 7.24.8 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.9) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.24.9) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.24.9) + '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.24.9) + '@babel/preset-env': 7.22.5(@babel/core@7.24.9) + '@babel/preset-flow': 7.24.7(@babel/core@7.24.9) + '@babel/preset-typescript': 7.24.7(@babel/core@7.24.9) + '@babel/register': 7.24.6(@babel/core@7.24.9) + babel-core: 7.0.0-bridge.0(@babel/core@7.24.9) chalk: 4.1.2 - flow-parser: 0.237.2 + flow-parser: 0.241.0 graceful-fs: 4.2.11 - micromatch: 4.0.5 + micromatch: 4.0.7 neo-async: 2.6.2 node-dir: 0.1.17 recast: 0.21.5 @@ -26052,17 +26911,12 @@ snapshots: jsonpointer@5.0.1: {} - jsx-ast-utils@3.3.3: - dependencies: - array-includes: 3.1.6 - object.assign: 4.1.4 - jsx-ast-utils@3.3.5: dependencies: array-includes: 3.1.8 array.prototype.flat: 1.3.2 - object.assign: 4.1.4 - object.values: 1.1.7 + object.assign: 4.1.5 + object.values: 1.2.0 jszip@3.10.1: dependencies: @@ -26089,11 +26943,11 @@ snapshots: klona@2.0.6: {} - knip@5.26.0(@types/node@18.15.3)(typescript@5.4.5): + knip@5.27.0(@types/node@20.14.11)(typescript@5.4.5): dependencies: '@nodelib/fs.walk': 1.2.8 '@snyk/github-codeowners': 1.1.0 - '@types/node': 18.15.3 + '@types/node': 20.14.11 easy-table: 1.2.0 fast-glob: 3.3.2 jiti: 1.21.6 @@ -26103,12 +26957,12 @@ snapshots: picomatch: 4.0.2 pretty-ms: 9.0.0 resolve: 1.22.8 - smol-toml: 1.1.4 + smol-toml: 1.3.0 strip-json-comments: 5.0.1 summary: 2.1.0 typescript: 5.4.5 - zod: 3.22.4 - zod-validation-error: 3.1.0(zod@3.22.4) + zod: 3.23.8 + zod-validation-error: 3.3.0(zod@3.23.8) ky@0.33.3: {} @@ -26173,14 +27027,14 @@ snapshots: crossws: 0.2.4 defu: 6.1.4 get-port-please: 3.1.2 - h3: 1.11.1 + h3: 1.12.0 http-shutdown: 1.2.2 jiti: 1.21.6 - mlly: 1.7.0 + mlly: 1.7.1 node-forge: 1.3.1 pathe: 1.1.2 std-env: 3.7.0 - ufo: 1.5.3 + ufo: 1.5.4 untun: 0.1.3 uqr: 0.1.2 transitivePeerDependencies: @@ -26213,7 +27067,7 @@ snapshots: lit-html@2.8.0: dependencies: - '@types/trusted-types': 2.0.3 + '@types/trusted-types': 2.0.7 lit-html@3.1.3: dependencies: @@ -26337,7 +27191,7 @@ snapshots: logkitty@0.7.1: dependencies: ansi-fragments: 0.2.1 - dayjs: 1.11.11 + dayjs: 1.11.12 yargs: 15.4.1 loglevel-plugin-prefix@0.8.4: {} @@ -26368,6 +27222,8 @@ snapshots: lru-cache@10.2.0: {} + lru-cache@10.4.3: {} + lru-cache@4.1.5: dependencies: pseudomap: 1.0.2 @@ -26408,7 +27264,7 @@ snapshots: make-dir@2.1.0: dependencies: pify: 4.0.1 - semver: 5.7.1 + semver: 5.7.2 make-dir@3.1.0: dependencies: @@ -26416,7 +27272,7 @@ snapshots: make-dir@4.0.0: dependencies: - semver: 7.5.4 + semver: 7.6.3 make-error@1.3.6: optional: true @@ -26576,15 +27432,15 @@ snapshots: merge2@1.4.1: {} - meros@1.3.0(@types/node@20.11.13): + meros@1.3.0(@types/node@20.14.11): optionalDependencies: - '@types/node': 20.11.13 + '@types/node': 20.14.11 methods@1.1.2: {} metro-babel-transformer@0.80.9: dependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 hermes-parser: 0.20.1 nullthrows: 1.1.1 transitivePeerDependencies: @@ -26625,7 +27481,7 @@ snapshots: graceful-fs: 4.2.11 invariant: 2.2.4 jest-worker: 29.7.0 - micromatch: 4.0.5 + micromatch: 4.0.7 node-abort-controller: 3.1.1 nullthrows: 1.1.1 walker: 1.0.8 @@ -26636,23 +27492,23 @@ snapshots: metro-minify-terser@0.80.9: dependencies: - terser: 5.18.2 + terser: 5.31.3 metro-resolver@0.80.9: {} metro-runtime@0.80.9: dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.24.8 metro-source-map@0.80.9: dependencies: - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/traverse': 7.24.8 + '@babel/types': 7.24.9 invariant: 2.2.4 metro-symbolicate: 0.80.9 nullthrows: 1.1.1 ob1: 0.80.9 - source-map: 0.5.6 + source-map: 0.5.7 vlq: 1.0.1 transitivePeerDependencies: - supports-color @@ -26662,7 +27518,7 @@ snapshots: invariant: 2.2.4 metro-source-map: 0.80.9 nullthrows: 1.1.1 - source-map: 0.5.6 + source-map: 0.5.7 through2: 2.0.5 vlq: 1.0.1 transitivePeerDependencies: @@ -26670,20 +27526,20 @@ snapshots: metro-transform-plugins@0.80.9: dependencies: - '@babel/core': 7.24.7 - '@babel/generator': 7.24.7 + '@babel/core': 7.24.9 + '@babel/generator': 7.24.10 '@babel/template': 7.24.7 - '@babel/traverse': 7.24.7 + '@babel/traverse': 7.24.8 nullthrows: 1.1.1 transitivePeerDependencies: - supports-color metro-transform-worker@0.80.9(bufferutil@4.0.8)(utf-8-validate@6.0.4): dependencies: - '@babel/core': 7.24.7 - '@babel/generator': 7.24.7 - '@babel/parser': 7.24.7 - '@babel/types': 7.24.7 + '@babel/core': 7.24.9 + '@babel/generator': 7.24.10 + '@babel/parser': 7.24.8 + '@babel/types': 7.24.9 metro: 0.80.9(bufferutil@4.0.8)(utf-8-validate@6.0.4) metro-babel-transformer: 0.80.9 metro-cache: 0.80.9 @@ -26701,12 +27557,12 @@ snapshots: metro@0.80.9(bufferutil@4.0.8)(utf-8-validate@6.0.4): dependencies: '@babel/code-frame': 7.24.7 - '@babel/core': 7.24.7 - '@babel/generator': 7.24.7 - '@babel/parser': 7.24.7 + '@babel/core': 7.24.9 + '@babel/generator': 7.24.10 + '@babel/parser': 7.24.8 '@babel/template': 7.24.7 - '@babel/traverse': 7.24.7 - '@babel/types': 7.24.7 + '@babel/traverse': 7.24.8 + '@babel/types': 7.24.9 accepts: 1.3.8 chalk: 4.1.2 ci-info: 2.0.0 @@ -26738,10 +27594,10 @@ snapshots: nullthrows: 1.1.1 rimraf: 3.0.2 serialize-error: 2.1.0 - source-map: 0.5.6 + source-map: 0.5.7 strip-ansi: 6.0.1 throat: 5.0.0 - ws: 7.5.9(bufferutil@4.0.8)(utf-8-validate@6.0.4) + ws: 7.5.10(bufferutil@4.0.8)(utf-8-validate@6.0.4) yargs: 17.7.2 transitivePeerDependencies: - bufferutil @@ -26810,6 +27666,11 @@ snapshots: braces: 3.0.2 picomatch: 2.3.1 + micromatch@4.0.7: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + miller-rabin@4.0.1: dependencies: bn.js: 4.12.0 @@ -26880,9 +27741,9 @@ snapshots: minisearch@7.0.0: {} - mipd@0.0.5(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.22.4): + mipd@0.0.5(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.23.8): dependencies: - viem: 1.21.4(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.22.4) + viem: 1.21.4(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.23.8) optionalDependencies: typescript: 5.2.2 transitivePeerDependencies: @@ -26890,9 +27751,9 @@ snapshots: - utf-8-validate - zod - mipd@0.0.5(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.22.4): + mipd@0.0.5(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.23.8): dependencies: - viem: 1.21.4(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.22.4) + viem: 1.21.4(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.23.8) optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: @@ -26919,6 +27780,13 @@ snapshots: pkg-types: 1.1.1 ufo: 1.5.3 + mlly@1.7.1: + dependencies: + acorn: 8.12.1 + pathe: 1.1.2 + pkg-types: 1.1.3 + ufo: 1.5.4 + motion@10.16.2: dependencies: '@motionone/animation': 10.18.0 @@ -26955,13 +27823,13 @@ snapshots: n12@1.8.16: {} - nano-css@5.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + nano-css@5.6.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/sourcemap-codec': 1.5.0 css-tree: 1.1.3 csstype: 3.1.3 fastest-stable-stringify: 2.0.2 - inline-style-prefixer: 7.0.0 + inline-style-prefixer: 7.0.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) rtl-css-js: 1.16.1 @@ -26982,7 +27850,7 @@ snapshots: netmask@2.0.2: {} - next@14.2.5(@babel/core@7.24.4)(@playwright/test@1.45.1)(react-dom@18.2.0(react@18.3.1))(react@18.3.1): + next@14.2.5(@babel/core@7.24.4)(@playwright/test@1.45.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@next/env': 14.2.5 '@swc/helpers': 0.5.5 @@ -26991,7 +27859,7 @@ snapshots: graceful-fs: 4.2.11 postcss: 8.4.31 react: 18.3.1 - react-dom: 18.2.0(react@18.3.1) + react-dom: 18.3.1(react@18.3.1) styled-jsx: 5.1.1(@babel/core@7.24.4)(react@18.3.1) optionalDependencies: '@next/swc-darwin-arm64': 14.2.5 @@ -27003,12 +27871,12 @@ snapshots: '@next/swc-win32-arm64-msvc': 14.2.5 '@next/swc-win32-ia32-msvc': 14.2.5 '@next/swc-win32-x64-msvc': 14.2.5 - '@playwright/test': 1.45.1 + '@playwright/test': 1.45.3 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros - next@14.2.5(@babel/core@7.24.4)(@playwright/test@1.45.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + next@14.2.5(@babel/core@7.24.9)(@playwright/test@1.45.3)(react-dom@18.2.0(react@18.3.1))(react@18.3.1): dependencies: '@next/env': 14.2.5 '@swc/helpers': 0.5.5 @@ -27017,8 +27885,8 @@ snapshots: graceful-fs: 4.2.11 postcss: 8.4.31 react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - styled-jsx: 5.1.1(@babel/core@7.24.4)(react@18.3.1) + react-dom: 18.2.0(react@18.3.1) + styled-jsx: 5.1.1(@babel/core@7.24.9)(react@18.3.1) optionalDependencies: '@next/swc-darwin-arm64': 14.2.5 '@next/swc-darwin-x64': 14.2.5 @@ -27029,12 +27897,12 @@ snapshots: '@next/swc-win32-arm64-msvc': 14.2.5 '@next/swc-win32-ia32-msvc': 14.2.5 '@next/swc-win32-x64-msvc': 14.2.5 - '@playwright/test': 1.45.1 + '@playwright/test': 1.45.3 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros - next@14.2.5(@babel/core@7.24.7)(@playwright/test@1.45.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + next@14.2.5(@babel/core@7.24.9)(@playwright/test@1.45.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@next/env': 14.2.5 '@swc/helpers': 0.5.5 @@ -27044,7 +27912,7 @@ snapshots: postcss: 8.4.31 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - styled-jsx: 5.1.1(@babel/core@7.24.7)(react@18.3.1) + styled-jsx: 5.1.1(@babel/core@7.24.9)(react@18.3.1) optionalDependencies: '@next/swc-darwin-arm64': 14.2.5 '@next/swc-darwin-x64': 14.2.5 @@ -27055,7 +27923,7 @@ snapshots: '@next/swc-win32-arm64-msvc': 14.2.5 '@next/swc-win32-ia32-msvc': 14.2.5 '@next/swc-win32-x64-msvc': 14.2.5 - '@playwright/test': 1.45.1 + '@playwright/test': 1.45.3 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros @@ -27075,7 +27943,7 @@ snapshots: node-addon-api@5.1.0: {} - node-addon-api@7.1.0: {} + node-addon-api@7.1.1: {} node-dir@0.1.17: dependencies: @@ -27111,6 +27979,8 @@ snapshots: node-releases@2.0.14: {} + node-releases@2.0.18: {} + node-stdlib-browser@1.2.0: dependencies: assert: 2.1.0 @@ -27164,7 +28034,7 @@ snapshots: dependencies: hosted-git-info: 2.8.9 resolve: 1.22.8 - semver: 5.7.1 + semver: 5.7.2 validate-npm-package-license: 3.0.4 normalize-path@2.1.1: @@ -27259,6 +28129,8 @@ snapshots: object-inspect@1.13.1: {} + object-inspect@1.13.2: {} + object-is@1.1.5: dependencies: call-bind: 1.0.7 @@ -27292,12 +28164,6 @@ snapshots: define-properties: 1.2.1 es-object-atoms: 1.0.0 - object.fromentries@2.0.6: - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 - object.fromentries@2.0.7: dependencies: call-bind: 1.0.2 @@ -27317,7 +28183,7 @@ snapshots: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 - safe-array-concat: 1.0.1 + safe-array-concat: 1.1.2 object.groupby@1.0.1: dependencies: @@ -27326,17 +28192,6 @@ snapshots: es-abstract: 1.22.3 get-intrinsic: 1.2.1 - object.hasown@1.1.2: - dependencies: - define-properties: 1.2.0 - es-abstract: 1.21.2 - - object.values@1.1.6: - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 - object.values@1.1.7: dependencies: call-bind: 1.0.2 @@ -27355,7 +28210,7 @@ snapshots: dependencies: destr: 2.0.3 node-fetch-native: 1.6.4 - ufo: 1.5.3 + ufo: 1.5.4 ohash@1.1.3: {} @@ -27727,15 +28582,21 @@ snapshots: mlly: 1.7.0 pathe: 1.1.2 + pkg-types@1.1.3: + dependencies: + confbox: 0.1.7 + mlly: 1.7.1 + pathe: 1.1.2 + pkg-up@3.1.0: dependencies: find-up: 3.0.0 - playwright-core@1.45.1: {} + playwright-core@1.45.3: {} - playwright@1.45.1: + playwright@1.45.3: dependencies: - playwright-core: 1.45.1 + playwright-core: 1.45.3 optionalDependencies: fsevents: 2.3.2 @@ -27755,424 +28616,424 @@ snapshots: possible-typed-array-names@1.0.0: {} - postcss-attribute-case-insensitive@5.0.2(postcss@8.4.33): + postcss-attribute-case-insensitive@5.0.2(postcss@8.4.39): dependencies: - postcss: 8.4.33 + postcss: 8.4.39 postcss-selector-parser: 6.0.13 - postcss-browser-comments@4.0.0(browserslist@4.21.9)(postcss@8.4.33): + postcss-browser-comments@4.0.0(browserslist@4.21.9)(postcss@8.4.39): dependencies: browserslist: 4.21.9 - postcss: 8.4.33 + postcss: 8.4.39 - postcss-calc@8.2.4(postcss@8.4.38): + postcss-calc@8.2.4(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-selector-parser: 6.0.13 postcss-value-parser: 4.2.0 - postcss-clamp@4.1.0(postcss@8.4.33): + postcss-clamp@4.1.0(postcss@8.4.39): dependencies: - postcss: 8.4.33 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-color-functional-notation@4.2.4(postcss@8.4.33): + postcss-color-functional-notation@4.2.4(postcss@8.4.39): dependencies: - postcss: 8.4.33 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-color-hex-alpha@8.0.4(postcss@8.4.33): + postcss-color-hex-alpha@8.0.4(postcss@8.4.39): dependencies: - postcss: 8.4.33 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-color-rebeccapurple@7.1.1(postcss@8.4.33): + postcss-color-rebeccapurple@7.1.1(postcss@8.4.39): dependencies: - postcss: 8.4.33 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-colormin@5.3.1(postcss@8.4.38): + postcss-colormin@5.3.1(postcss@8.4.39): dependencies: browserslist: 4.23.0 caniuse-api: 3.0.0 colord: 2.9.3 - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-convert-values@5.1.3(postcss@8.4.38): + postcss-convert-values@5.1.3(postcss@8.4.39): dependencies: browserslist: 4.23.0 - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-custom-media@8.0.2(postcss@8.4.33): + postcss-custom-media@8.0.2(postcss@8.4.39): dependencies: - postcss: 8.4.33 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-custom-properties@12.1.11(postcss@8.4.33): + postcss-custom-properties@12.1.11(postcss@8.4.39): dependencies: - postcss: 8.4.33 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-custom-selectors@6.0.3(postcss@8.4.33): + postcss-custom-selectors@6.0.3(postcss@8.4.39): dependencies: - postcss: 8.4.33 + postcss: 8.4.39 postcss-selector-parser: 6.0.13 - postcss-dir-pseudo-class@6.0.5(postcss@8.4.33): + postcss-dir-pseudo-class@6.0.5(postcss@8.4.39): dependencies: - postcss: 8.4.33 + postcss: 8.4.39 postcss-selector-parser: 6.0.13 - postcss-discard-comments@5.1.2(postcss@8.4.38): + postcss-discard-comments@5.1.2(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 - postcss-discard-duplicates@5.1.0(postcss@8.4.38): + postcss-discard-duplicates@5.1.0(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 - postcss-discard-empty@5.1.1(postcss@8.4.38): + postcss-discard-empty@5.1.1(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 - postcss-discard-overridden@5.1.0(postcss@8.4.38): + postcss-discard-overridden@5.1.0(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 - postcss-double-position-gradients@3.1.2(postcss@8.4.33): + postcss-double-position-gradients@3.1.2(postcss@8.4.39): dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.33) - postcss: 8.4.33 + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.39) + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-env-function@4.0.6(postcss@8.4.33): + postcss-env-function@4.0.6(postcss@8.4.39): dependencies: - postcss: 8.4.33 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-flexbugs-fixes@5.0.2(postcss@8.4.33): + postcss-flexbugs-fixes@5.0.2(postcss@8.4.39): dependencies: - postcss: 8.4.33 + postcss: 8.4.39 - postcss-focus-visible@6.0.4(postcss@8.4.33): + postcss-focus-visible@6.0.4(postcss@8.4.39): dependencies: - postcss: 8.4.33 + postcss: 8.4.39 postcss-selector-parser: 6.0.13 - postcss-focus-within@5.0.4(postcss@8.4.33): + postcss-focus-within@5.0.4(postcss@8.4.39): dependencies: - postcss: 8.4.33 + postcss: 8.4.39 postcss-selector-parser: 6.0.13 - postcss-font-variant@5.0.0(postcss@8.4.33): + postcss-font-variant@5.0.0(postcss@8.4.39): dependencies: - postcss: 8.4.33 + postcss: 8.4.39 - postcss-gap-properties@3.0.5(postcss@8.4.33): + postcss-gap-properties@3.0.5(postcss@8.4.39): dependencies: - postcss: 8.4.33 + postcss: 8.4.39 - postcss-image-set-function@4.0.7(postcss@8.4.33): + postcss-image-set-function@4.0.7(postcss@8.4.39): dependencies: - postcss: 8.4.33 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-import@15.1.0(postcss@8.4.38): + postcss-import@15.1.0(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.8 - postcss-initial@4.0.1(postcss@8.4.33): + postcss-initial@4.0.1(postcss@8.4.39): dependencies: - postcss: 8.4.33 + postcss: 8.4.39 - postcss-js@4.0.1(postcss@8.4.38): + postcss-js@4.0.1(postcss@8.4.39): dependencies: camelcase-css: 2.0.1 - postcss: 8.4.38 + postcss: 8.4.39 - postcss-lab-function@4.2.1(postcss@8.4.33): + postcss-lab-function@4.2.1(postcss@8.4.39): dependencies: - '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.33) - postcss: 8.4.33 + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.39) + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-load-config@3.1.4(postcss@8.4.39)(ts-node@10.9.1(@types/node@18.15.3)(typescript@5.4.5)): + postcss-load-config@3.1.4(postcss@8.4.39)(ts-node@10.9.1(@types/node@20.14.11)(typescript@5.4.5)): dependencies: lilconfig: 2.1.0 yaml: 1.10.2 optionalDependencies: postcss: 8.4.39 - ts-node: 10.9.1(@types/node@18.15.3)(typescript@5.4.5) + ts-node: 10.9.1(@types/node@20.14.11)(typescript@5.4.5) - postcss-load-config@4.0.1(postcss@8.4.38)(ts-node@10.9.1(@types/node@16.18.34)(typescript@5.4.5)): + postcss-load-config@4.0.1(postcss@8.4.39)(ts-node@10.9.1(@types/node@20.10.5)(typescript@5.4.5)): dependencies: lilconfig: 2.1.0 - yaml: 2.3.1 + yaml: 2.4.5 optionalDependencies: - postcss: 8.4.38 - ts-node: 10.9.1(@types/node@16.18.34)(typescript@5.4.5) + postcss: 8.4.39 + ts-node: 10.9.1(@types/node@20.10.5)(typescript@5.4.5) - postcss-load-config@4.0.1(postcss@8.4.38)(ts-node@10.9.1(@types/node@20.10.5)(typescript@5.4.5)): + postcss-load-config@4.0.1(postcss@8.4.39)(ts-node@10.9.1(@types/node@20.11.13)(typescript@5.2.2)): dependencies: lilconfig: 2.1.0 - yaml: 2.3.1 + yaml: 2.4.5 optionalDependencies: - postcss: 8.4.38 - ts-node: 10.9.1(@types/node@20.10.5)(typescript@5.4.5) + postcss: 8.4.39 + ts-node: 10.9.1(@types/node@20.11.13)(typescript@5.2.2) - postcss-load-config@4.0.1(postcss@8.4.38)(ts-node@10.9.1(@types/node@20.11.13)(typescript@5.2.2)): + postcss-load-config@4.0.1(postcss@8.4.39)(ts-node@10.9.1(@types/node@20.14.11)(typescript@5.4.5)): dependencies: lilconfig: 2.1.0 - yaml: 2.3.1 + yaml: 2.4.5 optionalDependencies: - postcss: 8.4.38 - ts-node: 10.9.1(@types/node@20.11.13)(typescript@5.2.2) + postcss: 8.4.39 + ts-node: 10.9.1(@types/node@20.14.11)(typescript@5.4.5) - postcss-loader@6.2.1(postcss@8.4.33)(webpack@5.88.0(esbuild@0.17.19)): + postcss-loader@6.2.1(postcss@8.4.39)(webpack@5.88.0(esbuild@0.17.19)): dependencies: cosmiconfig: 7.1.0 klona: 2.0.6 - postcss: 8.4.33 - semver: 7.5.4 + postcss: 8.4.39 + semver: 7.3.8 webpack: 5.88.0(esbuild@0.17.19) - postcss-logical@5.0.4(postcss@8.4.33): + postcss-logical@5.0.4(postcss@8.4.39): dependencies: - postcss: 8.4.33 + postcss: 8.4.39 - postcss-media-minmax@5.0.0(postcss@8.4.33): + postcss-media-minmax@5.0.0(postcss@8.4.39): dependencies: - postcss: 8.4.33 + postcss: 8.4.39 - postcss-merge-longhand@5.1.7(postcss@8.4.38): + postcss-merge-longhand@5.1.7(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - stylehacks: 5.1.1(postcss@8.4.38) + stylehacks: 5.1.1(postcss@8.4.39) - postcss-merge-rules@5.1.4(postcss@8.4.38): + postcss-merge-rules@5.1.4(postcss@8.4.39): dependencies: browserslist: 4.23.0 caniuse-api: 3.0.0 - cssnano-utils: 3.1.0(postcss@8.4.38) - postcss: 8.4.38 + cssnano-utils: 3.1.0(postcss@8.4.39) + postcss: 8.4.39 postcss-selector-parser: 6.0.13 - postcss-minify-font-values@5.1.0(postcss@8.4.38): + postcss-minify-font-values@5.1.0(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-minify-gradients@5.1.1(postcss@8.4.38): + postcss-minify-gradients@5.1.1(postcss@8.4.39): dependencies: colord: 2.9.3 - cssnano-utils: 3.1.0(postcss@8.4.38) - postcss: 8.4.38 + cssnano-utils: 3.1.0(postcss@8.4.39) + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-minify-params@5.1.4(postcss@8.4.38): + postcss-minify-params@5.1.4(postcss@8.4.39): dependencies: browserslist: 4.23.0 - cssnano-utils: 3.1.0(postcss@8.4.38) - postcss: 8.4.38 + cssnano-utils: 3.1.0(postcss@8.4.39) + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-minify-selectors@5.2.1(postcss@8.4.38): + postcss-minify-selectors@5.2.1(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-selector-parser: 6.0.13 - postcss-modules-extract-imports@3.0.0(postcss@8.4.38): + postcss-modules-extract-imports@3.0.0(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 - postcss-modules-local-by-default@4.0.3(postcss@8.4.38): + postcss-modules-local-by-default@4.0.3(postcss@8.4.39): dependencies: - icss-utils: 5.1.0(postcss@8.4.38) - postcss: 8.4.38 + icss-utils: 5.1.0(postcss@8.4.39) + postcss: 8.4.39 postcss-selector-parser: 6.0.13 postcss-value-parser: 4.2.0 - postcss-modules-scope@3.0.0(postcss@8.4.38): + postcss-modules-scope@3.0.0(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-selector-parser: 6.0.13 - postcss-modules-values@4.0.0(postcss@8.4.38): + postcss-modules-values@4.0.0(postcss@8.4.39): dependencies: - icss-utils: 5.1.0(postcss@8.4.38) - postcss: 8.4.38 + icss-utils: 5.1.0(postcss@8.4.39) + postcss: 8.4.39 - postcss-nested@6.0.1(postcss@8.4.38): + postcss-nested@6.0.1(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-selector-parser: 6.0.13 - postcss-nesting@10.2.0(postcss@8.4.33): + postcss-nesting@10.2.0(postcss@8.4.39): dependencies: '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.0.13) - postcss: 8.4.33 + postcss: 8.4.39 postcss-selector-parser: 6.0.13 - postcss-normalize-charset@5.1.0(postcss@8.4.38): + postcss-normalize-charset@5.1.0(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 - postcss-normalize-display-values@5.1.0(postcss@8.4.38): + postcss-normalize-display-values@5.1.0(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-normalize-positions@5.1.1(postcss@8.4.38): + postcss-normalize-positions@5.1.1(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-normalize-repeat-style@5.1.1(postcss@8.4.38): + postcss-normalize-repeat-style@5.1.1(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-normalize-string@5.1.0(postcss@8.4.38): + postcss-normalize-string@5.1.0(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-normalize-timing-functions@5.1.0(postcss@8.4.38): + postcss-normalize-timing-functions@5.1.0(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-normalize-unicode@5.1.1(postcss@8.4.38): + postcss-normalize-unicode@5.1.1(postcss@8.4.39): dependencies: browserslist: 4.23.0 - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-normalize-url@5.1.0(postcss@8.4.38): + postcss-normalize-url@5.1.0(postcss@8.4.39): dependencies: normalize-url: 6.1.0 - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-normalize-whitespace@5.1.1(postcss@8.4.38): + postcss-normalize-whitespace@5.1.1(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-normalize@10.0.1(browserslist@4.21.9)(postcss@8.4.33): + postcss-normalize@10.0.1(browserslist@4.21.9)(postcss@8.4.39): dependencies: '@csstools/normalize.css': 12.0.0 browserslist: 4.21.9 - postcss: 8.4.33 - postcss-browser-comments: 4.0.0(browserslist@4.21.9)(postcss@8.4.33) + postcss: 8.4.39 + postcss-browser-comments: 4.0.0(browserslist@4.21.9)(postcss@8.4.39) sanitize.css: 13.0.0 - postcss-opacity-percentage@1.1.3(postcss@8.4.33): + postcss-opacity-percentage@1.1.3(postcss@8.4.39): dependencies: - postcss: 8.4.33 + postcss: 8.4.39 - postcss-ordered-values@5.1.3(postcss@8.4.38): + postcss-ordered-values@5.1.3(postcss@8.4.39): dependencies: - cssnano-utils: 3.1.0(postcss@8.4.38) - postcss: 8.4.38 + cssnano-utils: 3.1.0(postcss@8.4.39) + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-overflow-shorthand@3.0.4(postcss@8.4.33): + postcss-overflow-shorthand@3.0.4(postcss@8.4.39): dependencies: - postcss: 8.4.33 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-page-break@3.0.4(postcss@8.4.33): + postcss-page-break@3.0.4(postcss@8.4.39): dependencies: - postcss: 8.4.33 + postcss: 8.4.39 - postcss-place@7.0.5(postcss@8.4.33): + postcss-place@7.0.5(postcss@8.4.39): dependencies: - postcss: 8.4.33 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-preset-env@7.8.3(postcss@8.4.33): - dependencies: - '@csstools/postcss-cascade-layers': 1.1.1(postcss@8.4.33) - '@csstools/postcss-color-function': 1.1.1(postcss@8.4.33) - '@csstools/postcss-font-format-keywords': 1.0.1(postcss@8.4.33) - '@csstools/postcss-hwb-function': 1.0.2(postcss@8.4.33) - '@csstools/postcss-ic-unit': 1.0.1(postcss@8.4.33) - '@csstools/postcss-is-pseudo-class': 2.0.7(postcss@8.4.33) - '@csstools/postcss-nested-calc': 1.0.0(postcss@8.4.33) - '@csstools/postcss-normalize-display-values': 1.0.1(postcss@8.4.33) - '@csstools/postcss-oklab-function': 1.1.1(postcss@8.4.33) - '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.33) - '@csstools/postcss-stepped-value-functions': 1.0.1(postcss@8.4.33) - '@csstools/postcss-text-decoration-shorthand': 1.0.0(postcss@8.4.33) - '@csstools/postcss-trigonometric-functions': 1.0.2(postcss@8.4.33) - '@csstools/postcss-unset-value': 1.0.2(postcss@8.4.33) - autoprefixer: 10.4.19(postcss@8.4.33) + postcss-preset-env@7.8.3(postcss@8.4.39): + dependencies: + '@csstools/postcss-cascade-layers': 1.1.1(postcss@8.4.39) + '@csstools/postcss-color-function': 1.1.1(postcss@8.4.39) + '@csstools/postcss-font-format-keywords': 1.0.1(postcss@8.4.39) + '@csstools/postcss-hwb-function': 1.0.2(postcss@8.4.39) + '@csstools/postcss-ic-unit': 1.0.1(postcss@8.4.39) + '@csstools/postcss-is-pseudo-class': 2.0.7(postcss@8.4.39) + '@csstools/postcss-nested-calc': 1.0.0(postcss@8.4.39) + '@csstools/postcss-normalize-display-values': 1.0.1(postcss@8.4.39) + '@csstools/postcss-oklab-function': 1.1.1(postcss@8.4.39) + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.39) + '@csstools/postcss-stepped-value-functions': 1.0.1(postcss@8.4.39) + '@csstools/postcss-text-decoration-shorthand': 1.0.0(postcss@8.4.39) + '@csstools/postcss-trigonometric-functions': 1.0.2(postcss@8.4.39) + '@csstools/postcss-unset-value': 1.0.2(postcss@8.4.39) + autoprefixer: 10.4.19(postcss@8.4.39) browserslist: 4.22.1 - css-blank-pseudo: 3.0.3(postcss@8.4.33) - css-has-pseudo: 3.0.4(postcss@8.4.33) - css-prefers-color-scheme: 6.0.3(postcss@8.4.33) + css-blank-pseudo: 3.0.3(postcss@8.4.39) + css-has-pseudo: 3.0.4(postcss@8.4.39) + css-prefers-color-scheme: 6.0.3(postcss@8.4.39) cssdb: 7.6.0 - postcss: 8.4.33 - postcss-attribute-case-insensitive: 5.0.2(postcss@8.4.33) - postcss-clamp: 4.1.0(postcss@8.4.33) - postcss-color-functional-notation: 4.2.4(postcss@8.4.33) - postcss-color-hex-alpha: 8.0.4(postcss@8.4.33) - postcss-color-rebeccapurple: 7.1.1(postcss@8.4.33) - postcss-custom-media: 8.0.2(postcss@8.4.33) - postcss-custom-properties: 12.1.11(postcss@8.4.33) - postcss-custom-selectors: 6.0.3(postcss@8.4.33) - postcss-dir-pseudo-class: 6.0.5(postcss@8.4.33) - postcss-double-position-gradients: 3.1.2(postcss@8.4.33) - postcss-env-function: 4.0.6(postcss@8.4.33) - postcss-focus-visible: 6.0.4(postcss@8.4.33) - postcss-focus-within: 5.0.4(postcss@8.4.33) - postcss-font-variant: 5.0.0(postcss@8.4.33) - postcss-gap-properties: 3.0.5(postcss@8.4.33) - postcss-image-set-function: 4.0.7(postcss@8.4.33) - postcss-initial: 4.0.1(postcss@8.4.33) - postcss-lab-function: 4.2.1(postcss@8.4.33) - postcss-logical: 5.0.4(postcss@8.4.33) - postcss-media-minmax: 5.0.0(postcss@8.4.33) - postcss-nesting: 10.2.0(postcss@8.4.33) - postcss-opacity-percentage: 1.1.3(postcss@8.4.33) - postcss-overflow-shorthand: 3.0.4(postcss@8.4.33) - postcss-page-break: 3.0.4(postcss@8.4.33) - postcss-place: 7.0.5(postcss@8.4.33) - postcss-pseudo-class-any-link: 7.1.6(postcss@8.4.33) - postcss-replace-overflow-wrap: 4.0.0(postcss@8.4.33) - postcss-selector-not: 6.0.1(postcss@8.4.33) + postcss: 8.4.39 + postcss-attribute-case-insensitive: 5.0.2(postcss@8.4.39) + postcss-clamp: 4.1.0(postcss@8.4.39) + postcss-color-functional-notation: 4.2.4(postcss@8.4.39) + postcss-color-hex-alpha: 8.0.4(postcss@8.4.39) + postcss-color-rebeccapurple: 7.1.1(postcss@8.4.39) + postcss-custom-media: 8.0.2(postcss@8.4.39) + postcss-custom-properties: 12.1.11(postcss@8.4.39) + postcss-custom-selectors: 6.0.3(postcss@8.4.39) + postcss-dir-pseudo-class: 6.0.5(postcss@8.4.39) + postcss-double-position-gradients: 3.1.2(postcss@8.4.39) + postcss-env-function: 4.0.6(postcss@8.4.39) + postcss-focus-visible: 6.0.4(postcss@8.4.39) + postcss-focus-within: 5.0.4(postcss@8.4.39) + postcss-font-variant: 5.0.0(postcss@8.4.39) + postcss-gap-properties: 3.0.5(postcss@8.4.39) + postcss-image-set-function: 4.0.7(postcss@8.4.39) + postcss-initial: 4.0.1(postcss@8.4.39) + postcss-lab-function: 4.2.1(postcss@8.4.39) + postcss-logical: 5.0.4(postcss@8.4.39) + postcss-media-minmax: 5.0.0(postcss@8.4.39) + postcss-nesting: 10.2.0(postcss@8.4.39) + postcss-opacity-percentage: 1.1.3(postcss@8.4.39) + postcss-overflow-shorthand: 3.0.4(postcss@8.4.39) + postcss-page-break: 3.0.4(postcss@8.4.39) + postcss-place: 7.0.5(postcss@8.4.39) + postcss-pseudo-class-any-link: 7.1.6(postcss@8.4.39) + postcss-replace-overflow-wrap: 4.0.0(postcss@8.4.39) + postcss-selector-not: 6.0.1(postcss@8.4.39) postcss-value-parser: 4.2.0 - postcss-pseudo-class-any-link@7.1.6(postcss@8.4.33): + postcss-pseudo-class-any-link@7.1.6(postcss@8.4.39): dependencies: - postcss: 8.4.33 + postcss: 8.4.39 postcss-selector-parser: 6.0.13 - postcss-reduce-initial@5.1.2(postcss@8.4.38): + postcss-reduce-initial@5.1.2(postcss@8.4.39): dependencies: browserslist: 4.23.0 caniuse-api: 3.0.0 - postcss: 8.4.38 + postcss: 8.4.39 - postcss-reduce-transforms@5.1.0(postcss@8.4.38): + postcss-reduce-transforms@5.1.0(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 - postcss-replace-overflow-wrap@4.0.0(postcss@8.4.33): + postcss-replace-overflow-wrap@4.0.0(postcss@8.4.39): dependencies: - postcss: 8.4.33 + postcss: 8.4.39 - postcss-selector-not@6.0.1(postcss@8.4.33): + postcss-selector-not@6.0.1(postcss@8.4.39): dependencies: - postcss: 8.4.33 + postcss: 8.4.39 postcss-selector-parser: 6.0.13 postcss-selector-parser@6.0.13: @@ -28180,15 +29041,15 @@ snapshots: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss-svgo@5.1.0(postcss@8.4.38): + postcss-svgo@5.1.0(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 svgo: 2.8.0 - postcss-unique-selectors@5.1.1(postcss@8.4.38): + postcss-unique-selectors@5.1.1(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-selector-parser: 6.0.13 postcss-value-parser@4.2.0: {} @@ -28216,12 +29077,6 @@ snapshots: picocolors: 1.0.0 source-map-js: 1.0.2 - postcss@8.4.38: - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.2.0 - postcss@8.4.39: dependencies: nanoid: 3.3.7 @@ -28230,6 +29085,8 @@ snapshots: preact@10.22.0: {} + preact@10.22.1: {} + preferred-pm@3.0.3: dependencies: find-up: 5.0.0 @@ -28272,7 +29129,7 @@ snapshots: '@jest/schemas': 28.1.3 ansi-regex: 5.0.1 ansi-styles: 5.2.0 - react-is: 18.2.0 + react-is: 18.3.1 pretty-format@29.7.0: dependencies: @@ -28396,7 +29253,7 @@ snapshots: pvtsutils@1.3.2: dependencies: - tslib: 2.6.3 + tslib: 2.6.0 pvutils@1.1.3: {} @@ -28530,10 +29387,10 @@ snapshots: - supports-color - vue-template-compiler - react-devtools-core@5.2.0(bufferutil@4.0.8)(utf-8-validate@6.0.4): + react-devtools-core@5.3.1(bufferutil@4.0.8)(utf-8-validate@6.0.4): dependencies: shell-quote: 1.8.1 - ws: 7.5.9(bufferutil@4.0.8)(utf-8-validate@6.0.4) + ws: 7.5.10(bufferutil@4.0.8)(utf-8-validate@6.0.4) transitivePeerDependencies: - bufferutil - utf-8-validate @@ -28560,15 +29417,25 @@ snapshots: transitivePeerDependencies: - csstype - react-i18next@13.5.0(i18next@22.5.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1): + react-i18next@13.5.0(i18next@22.5.1)(react-dom@18.2.0(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1): dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.24.8 + html-parse-stringify: 3.0.1 + i18next: 22.5.1 + react: 18.3.1 + optionalDependencies: + react-dom: 18.2.0(react@18.3.1) + react-native: 0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4) + + react-i18next@13.5.0(i18next@22.5.1)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1): + dependencies: + '@babel/runtime': 7.24.8 html-parse-stringify: 3.0.1 i18next: 22.5.1 react: 18.3.1 optionalDependencies: react-dom: 18.3.1(react@18.3.1) - react-native: 0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4) + react-native: 0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4) react-is@16.13.1: {} @@ -28576,26 +29443,28 @@ snapshots: react-is@18.2.0: {} - react-native-webview@11.26.1(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1): + react-is@18.3.1: {} + + react-native-webview@11.26.1(react-native@0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1): dependencies: escape-string-regexp: 2.0.0 invariant: 2.2.4 react: 18.3.1 - react-native: 0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4) + react-native: 0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4) - react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4): + react-native@0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4): dependencies: '@jest/create-cache-key-function': 29.7.0 '@react-native-community/cli': 13.6.6(bufferutil@4.0.8)(utf-8-validate@6.0.4) '@react-native-community/cli-platform-android': 13.6.6 '@react-native-community/cli-platform-ios': 13.6.6 '@react-native/assets-registry': 0.74.83 - '@react-native/codegen': 0.74.83(@babel/preset-env@7.22.5(@babel/core@7.24.7)) - '@react-native/community-cli-plugin': 0.74.83(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(bufferutil@4.0.8)(utf-8-validate@6.0.4) + '@react-native/codegen': 0.74.83(@babel/preset-env@7.22.5(@babel/core@7.24.9)) + '@react-native/community-cli-plugin': 0.74.83(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(bufferutil@4.0.8)(utf-8-validate@6.0.4) '@react-native/gradle-plugin': 0.74.83 '@react-native/js-polyfills': 0.74.83 '@react-native/normalize-colors': 0.74.83 - '@react-native/virtualized-lists': 0.74.83(@types/react@18.3.3)(react-native@0.74.1(@babel/core@7.24.7)(@babel/preset-env@7.22.5(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1) + '@react-native/virtualized-lists': 0.74.83(@types/react@18.3.3)(react-native@0.74.1(@babel/core@7.24.9)(@babel/preset-env@7.22.5(@babel/core@7.24.9))(@types/react@18.3.3)(bufferutil@4.0.8)(react@18.3.1)(utf-8-validate@6.0.4))(react@18.3.1) abort-controller: 3.0.0 anser: 1.4.10 ansi-regex: 5.0.1 @@ -28614,14 +29483,14 @@ snapshots: pretty-format: 26.6.2 promise: 8.3.0 react: 18.3.1 - react-devtools-core: 5.2.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) + react-devtools-core: 5.3.1(bufferutil@4.0.8)(utf-8-validate@6.0.4) react-refresh: 0.14.2 react-shallow-renderer: 16.15.0(react@18.3.1) regenerator-runtime: 0.13.11 scheduler: 0.24.0-canary-efb381bbf-20230505 stacktrace-parser: 0.1.10 - whatwg-fetch: 3.6.2 - ws: 6.2.2(bufferutil@4.0.8)(utf-8-validate@6.0.4) + whatwg-fetch: 3.6.20 + ws: 6.2.3(bufferutil@4.0.8)(utf-8-validate@6.0.4) yargs: 17.7.2 optionalDependencies: '@types/react': 18.3.3 @@ -28650,13 +29519,13 @@ snapshots: react: 18.3.1 react-remove-scroll-bar: 2.3.5(@types/react@18.3.3)(react@18.3.1) react-style-singleton: 2.2.1(@types/react@18.3.3)(react@18.3.1) - tslib: 2.6.0 + tslib: 2.6.3 use-callback-ref: 1.3.1(@types/react@18.3.3)(react@18.3.1) use-sidecar: 1.1.2(@types/react@18.3.3)(react@18.3.1) optionalDependencies: '@types/react': 18.3.3 - react-scripts@5.0.1(@babel/plugin-syntax-flow@7.24.6(@babel/core@7.22.5))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.22.5))(@types/babel__core@7.20.5)(bufferutil@4.0.8)(esbuild@0.17.19)(eslint@8.57.0)(react@18.3.1)(ts-node@10.9.1(@types/node@16.18.34)(typescript@5.4.5))(type-fest@3.1.0)(typescript@5.4.5)(utf-8-validate@6.0.4): + react-scripts@5.0.1(@babel/plugin-syntax-flow@7.24.7(@babel/core@7.22.5))(@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.22.5))(@types/babel__core@7.20.5)(bufferutil@4.0.8)(esbuild@0.17.19)(eslint@8.57.0)(react@18.3.1)(ts-node@10.9.1(@types/node@20.14.11)(typescript@5.4.5))(type-fest@3.1.0)(typescript@5.4.5)(utf-8-validate@6.0.4): dependencies: '@babel/core': 7.22.5 '@pmmmwh/react-refresh-webpack-plugin': 0.5.10(react-refresh@0.11.0)(type-fest@3.1.0)(webpack-dev-server@4.15.1(bufferutil@4.0.8)(utf-8-validate@6.0.4)(webpack@5.88.0(esbuild@0.17.19)))(webpack@5.88.0(esbuild@0.17.19)) @@ -28674,21 +29543,21 @@ snapshots: dotenv: 10.0.0 dotenv-expand: 5.1.0 eslint: 8.57.0 - eslint-config-react-app: 7.0.1(@babel/plugin-syntax-flow@7.24.6(@babel/core@7.22.5))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.22.5))(eslint@8.57.0)(jest@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.34)(typescript@5.4.5))(utf-8-validate@6.0.4))(typescript@5.4.5) + eslint-config-react-app: 7.0.1(@babel/plugin-syntax-flow@7.24.7(@babel/core@7.22.5))(@babel/plugin-transform-react-jsx@7.24.7(@babel/core@7.22.5))(eslint@8.57.0)(jest@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@20.14.11)(typescript@5.4.5))(utf-8-validate@6.0.4))(typescript@5.4.5) eslint-webpack-plugin: 3.2.0(eslint@8.57.0)(webpack@5.88.0(esbuild@0.17.19)) file-loader: 6.2.0(webpack@5.88.0(esbuild@0.17.19)) fs-extra: 10.1.0 html-webpack-plugin: 5.5.3(webpack@5.88.0(esbuild@0.17.19)) identity-obj-proxy: 3.0.0 - jest: 27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.34)(typescript@5.4.5))(utf-8-validate@6.0.4) + jest: 27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@20.14.11)(typescript@5.4.5))(utf-8-validate@6.0.4) jest-resolve: 27.5.1 - jest-watch-typeahead: 1.1.0(jest@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.34)(typescript@5.4.5))(utf-8-validate@6.0.4)) + jest-watch-typeahead: 1.1.0(jest@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@20.14.11)(typescript@5.4.5))(utf-8-validate@6.0.4)) mini-css-extract-plugin: 2.7.6(webpack@5.88.0(esbuild@0.17.19)) - postcss: 8.4.33 - postcss-flexbugs-fixes: 5.0.2(postcss@8.4.33) - postcss-loader: 6.2.1(postcss@8.4.33)(webpack@5.88.0(esbuild@0.17.19)) - postcss-normalize: 10.0.1(browserslist@4.21.9)(postcss@8.4.33) - postcss-preset-env: 7.8.3(postcss@8.4.33) + postcss: 8.4.39 + postcss-flexbugs-fixes: 5.0.2(postcss@8.4.39) + postcss-loader: 6.2.1(postcss@8.4.39)(webpack@5.88.0(esbuild@0.17.19)) + postcss-normalize: 10.0.1(browserslist@4.21.9)(postcss@8.4.39) + postcss-preset-env: 7.8.3(postcss@8.4.39) prompts: 2.4.2 react: 18.3.1 react-app-polyfill: 3.0.0 @@ -28700,7 +29569,7 @@ snapshots: semver: 7.3.8 source-map-loader: 3.0.2(webpack@5.88.0(esbuild@0.17.19)) style-loader: 3.3.3(webpack@5.88.0(esbuild@0.17.19)) - tailwindcss: 3.4.4(ts-node@10.9.1(@types/node@16.18.34)(typescript@5.4.5)) + tailwindcss: 3.4.6(ts-node@10.9.1(@types/node@20.14.11)(typescript@5.4.5)) terser-webpack-plugin: 5.3.9(esbuild@0.17.19)(webpack@5.88.0(esbuild@0.17.19)) webpack: 5.88.0(esbuild@0.17.19) webpack-dev-server: 4.15.1(bufferutil@4.0.8)(utf-8-validate@6.0.4)(webpack@5.88.0(esbuild@0.17.19)) @@ -28746,7 +29615,7 @@ snapshots: dependencies: object-assign: 4.1.1 react: 18.3.1 - react-is: 18.2.0 + react-is: 18.3.1 react-style-singleton@2.2.1(@types/react@18.3.3)(react@18.3.1): dependencies: @@ -28757,12 +29626,12 @@ snapshots: optionalDependencies: '@types/react': 18.3.3 - react-universal-interface@0.6.2(react@18.3.1)(tslib@2.6.0): + react-universal-interface@0.6.2(react@18.3.1)(tslib@2.6.3): dependencies: react: 18.3.1 - tslib: 2.6.0 + tslib: 2.6.3 - react-use@17.5.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + react-use@17.5.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@types/js-cookie': 2.2.7 '@xobotyi/scrollbar-width': 1.9.5 @@ -28770,16 +29639,16 @@ snapshots: fast-deep-equal: 3.1.3 fast-shallow-equal: 1.0.0 js-cookie: 2.2.1 - nano-css: 5.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + nano-css: 5.6.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-universal-interface: 0.6.2(react@18.3.1)(tslib@2.6.0) + react-universal-interface: 0.6.2(react@18.3.1)(tslib@2.6.3) resize-observer-polyfill: 1.5.1 screenfull: 5.2.0 set-harmonic-interval: 1.0.1 throttle-debounce: 3.0.1 ts-easing: 0.2.0 - tslib: 2.6.0 + tslib: 2.6.3 react@18.3.1: dependencies: @@ -28860,13 +29729,14 @@ snapshots: dependencies: minimatch: 3.1.2 - reflect.getprototypeof@1.0.4: + reflect.getprototypeof@1.0.6: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.3 + es-abstract: 1.23.3 + es-errors: 1.3.0 get-intrinsic: 1.2.4 - globalthis: 1.0.3 + globalthis: 1.0.4 which-builtin-type: 1.1.3 regenerate-unicode-properties@10.1.0: @@ -28879,18 +29749,14 @@ snapshots: regenerator-runtime@0.14.0: {} + regenerator-runtime@0.14.1: {} + regenerator-transform@0.15.1: dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.24.8 regex-parser@2.2.11: {} - regexp.prototype.flags@1.5.0: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.0 - functions-have-names: 1.2.3 - regexp.prototype.flags@1.5.2: dependencies: call-bind: 1.0.7 @@ -28915,7 +29781,7 @@ snapshots: relay-runtime@12.0.0: dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.24.8 fbjs: 3.0.5 invariant: 2.2.4 transitivePeerDependencies: @@ -29014,19 +29880,13 @@ snapshots: resolve@1.22.8: dependencies: - is-core-module: 2.13.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - - resolve@2.0.0-next.4: - dependencies: - is-core-module: 2.13.1 + is-core-module: 2.15.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 resolve@2.0.0-next.5: dependencies: - is-core-module: 2.13.1 + is-core-module: 2.15.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -29078,14 +29938,14 @@ snapshots: serialize-javascript: 4.0.0 terser: 5.18.2 - rollup-plugin-visualizer@5.12.0(rollup@4.16.4): + rollup-plugin-visualizer@5.12.0(rollup@4.19.0): dependencies: open: 8.4.2 picomatch: 2.3.1 source-map: 0.7.4 yargs: 17.7.2 optionalDependencies: - rollup: 4.16.4 + rollup: 4.19.0 rollup@2.79.1: optionalDependencies: @@ -29095,31 +29955,31 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - rollup@4.16.4: + rollup@4.19.0: dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.16.4 - '@rollup/rollup-android-arm64': 4.16.4 - '@rollup/rollup-darwin-arm64': 4.16.4 - '@rollup/rollup-darwin-x64': 4.16.4 - '@rollup/rollup-linux-arm-gnueabihf': 4.16.4 - '@rollup/rollup-linux-arm-musleabihf': 4.16.4 - '@rollup/rollup-linux-arm64-gnu': 4.16.4 - '@rollup/rollup-linux-arm64-musl': 4.16.4 - '@rollup/rollup-linux-powerpc64le-gnu': 4.16.4 - '@rollup/rollup-linux-riscv64-gnu': 4.16.4 - '@rollup/rollup-linux-s390x-gnu': 4.16.4 - '@rollup/rollup-linux-x64-gnu': 4.16.4 - '@rollup/rollup-linux-x64-musl': 4.16.4 - '@rollup/rollup-win32-arm64-msvc': 4.16.4 - '@rollup/rollup-win32-ia32-msvc': 4.16.4 - '@rollup/rollup-win32-x64-msvc': 4.16.4 + '@rollup/rollup-android-arm-eabi': 4.19.0 + '@rollup/rollup-android-arm64': 4.19.0 + '@rollup/rollup-darwin-arm64': 4.19.0 + '@rollup/rollup-darwin-x64': 4.19.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.19.0 + '@rollup/rollup-linux-arm-musleabihf': 4.19.0 + '@rollup/rollup-linux-arm64-gnu': 4.19.0 + '@rollup/rollup-linux-arm64-musl': 4.19.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.19.0 + '@rollup/rollup-linux-riscv64-gnu': 4.19.0 + '@rollup/rollup-linux-s390x-gnu': 4.19.0 + '@rollup/rollup-linux-x64-gnu': 4.19.0 + '@rollup/rollup-linux-x64-musl': 4.19.0 + '@rollup/rollup-win32-arm64-msvc': 4.19.0 + '@rollup/rollup-win32-ia32-msvc': 4.19.0 + '@rollup/rollup-win32-x64-msvc': 4.19.0 fsevents: 2.3.3 rtl-css-js@1.16.1: dependencies: - '@babel/runtime': 7.24.7 + '@babel/runtime': 7.24.8 run-async@2.4.1: {} @@ -29129,17 +29989,10 @@ snapshots: rxjs@7.8.1: dependencies: - tslib: 2.6.3 + tslib: 2.6.0 safaridriver@0.1.2: {} - safe-array-concat@1.0.1: - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - has-symbols: 1.0.3 - isarray: 2.0.5 - safe-array-concat@1.1.2: dependencies: call-bind: 1.0.7 @@ -29153,7 +30006,7 @@ snapshots: safe-regex-test@1.0.0: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.2 get-intrinsic: 1.2.4 is-regex: 1.1.4 @@ -29226,7 +30079,7 @@ snapshots: secp256k1@5.0.0: dependencies: - elliptic: 6.5.4 + elliptic: 6.5.6 node-addon-api: 5.1.0 node-gyp-build: 4.8.1 @@ -29241,7 +30094,7 @@ snapshots: '@types/node-forge': 1.3.11 node-forge: 1.3.1 - semver@5.7.1: {} + semver@5.7.2: {} semver@6.3.0: {} @@ -29255,6 +30108,8 @@ snapshots: dependencies: lru-cache: 6.0.0 + semver@7.6.3: {} + send@0.18.0: dependencies: debug: 2.6.9 @@ -29325,12 +30180,6 @@ snapshots: gopd: 1.0.1 has-property-descriptors: 1.0.2 - set-function-name@2.0.1: - dependencies: - define-data-property: 1.1.4 - functions-have-names: 1.2.3 - has-property-descriptors: 1.0.2 - set-function-name@2.0.2: dependencies: define-data-property: 1.1.4 @@ -29381,18 +30230,12 @@ snapshots: '@shikijs/core': 1.10.3 '@types/hast': 3.0.4 - side-channel@1.0.4: - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - object-inspect: 1.12.3 - side-channel@1.0.6: dependencies: call-bind: 1.0.7 es-errors: 1.3.0 get-intrinsic: 1.2.4 - object-inspect: 1.13.1 + object-inspect: 1.13.2 siginfo@2.0.0: {} @@ -29438,7 +30281,7 @@ snapshots: smart-buffer@4.2.0: {} - smol-toml@1.1.4: {} + smol-toml@1.3.0: {} snake-case@3.0.4: dependencies: @@ -29460,7 +30303,7 @@ snapshots: dependencies: '@socket.io/component-emitter': 3.1.2 debug: 4.3.5(supports-color@5.5.0) - engine.io-client: 6.5.3(bufferutil@4.0.8)(utf-8-validate@6.0.4) + engine.io-client: 6.5.4(bufferutil@4.0.8)(utf-8-validate@6.0.4) socket.io-parser: 4.2.4 transitivePeerDependencies: - bufferutil @@ -29507,7 +30350,7 @@ snapshots: dependencies: abab: 2.0.6 iconv-lite: 0.6.3 - source-map-js: 1.0.2 + source-map-js: 1.2.0 webpack: 5.88.0(esbuild@0.17.19) source-map-support@0.5.21: @@ -29517,6 +30360,8 @@ snapshots: source-map@0.5.6: {} + source-map@0.5.7: {} + source-map@0.6.1: {} source-map@0.7.4: {} @@ -29696,17 +30541,6 @@ snapshots: set-function-name: 2.0.2 side-channel: 1.0.6 - string.prototype.matchall@4.0.8: - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.2 - get-intrinsic: 1.2.1 - has-symbols: 1.0.3 - internal-slot: 1.0.5 - regexp.prototype.flags: 1.5.0 - side-channel: 1.0.4 - string.prototype.padend@3.1.4: dependencies: call-bind: 1.0.2 @@ -29720,14 +30554,14 @@ snapshots: string.prototype.trim@1.2.7: dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.3 + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 string.prototype.trim@1.2.8: dependencies: call-bind: 1.0.7 - define-properties: 1.2.1 + define-properties: 1.2.0 es-abstract: 1.22.3 string.prototype.trim@1.2.9: @@ -29739,14 +30573,14 @@ snapshots: string.prototype.trimend@1.0.6: dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.3 + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 string.prototype.trimend@1.0.7: dependencies: call-bind: 1.0.7 - define-properties: 1.2.1 + define-properties: 1.2.0 es-abstract: 1.22.3 string.prototype.trimend@1.0.8: @@ -29757,14 +30591,14 @@ snapshots: string.prototype.trimstart@1.0.6: dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.22.3 + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 string.prototype.trimstart@1.0.7: dependencies: call-bind: 1.0.7 - define-properties: 1.2.1 + define-properties: 1.2.0 es-abstract: 1.22.3 string.prototype.trimstart@1.0.8: @@ -29838,17 +30672,17 @@ snapshots: optionalDependencies: '@babel/core': 7.24.4 - styled-jsx@5.1.1(@babel/core@7.24.7)(react@18.3.1): + styled-jsx@5.1.1(@babel/core@7.24.9)(react@18.3.1): dependencies: client-only: 0.0.1 react: 18.3.1 optionalDependencies: - '@babel/core': 7.24.7 + '@babel/core': 7.24.9 - stylehacks@5.1.1(postcss@8.4.38): + stylehacks@5.1.1(postcss@8.4.39): dependencies: browserslist: 4.23.0 - postcss: 8.4.38 + postcss: 8.4.39 postcss-selector-parser: 6.0.13 stylis@4.3.1: {} @@ -29926,7 +30760,7 @@ snapshots: symbol-tree@3.2.4: {} - synckit@0.8.8: + synckit@0.9.1: dependencies: '@pkgr/core': 0.1.1 tslib: 2.6.3 @@ -29943,7 +30777,7 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 - tailwindcss@3.4.4(ts-node@10.9.1(@types/node@16.18.34)(typescript@5.4.5)): + tailwindcss@3.4.6(ts-node@10.9.1(@types/node@20.10.5)(typescript@5.4.5)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -29953,24 +30787,24 @@ snapshots: fast-glob: 3.3.2 glob-parent: 6.0.2 is-glob: 4.0.3 - jiti: 1.21.0 + jiti: 1.21.6 lilconfig: 2.1.0 - micromatch: 4.0.5 + micromatch: 4.0.7 normalize-path: 3.0.0 object-hash: 3.0.0 - picocolors: 1.0.0 - postcss: 8.4.38 - postcss-import: 15.1.0(postcss@8.4.38) - postcss-js: 4.0.1(postcss@8.4.38) - postcss-load-config: 4.0.1(postcss@8.4.38)(ts-node@10.9.1(@types/node@16.18.34)(typescript@5.4.5)) - postcss-nested: 6.0.1(postcss@8.4.38) + picocolors: 1.0.1 + postcss: 8.4.39 + postcss-import: 15.1.0(postcss@8.4.39) + postcss-js: 4.0.1(postcss@8.4.39) + postcss-load-config: 4.0.1(postcss@8.4.39)(ts-node@10.9.1(@types/node@20.10.5)(typescript@5.4.5)) + postcss-nested: 6.0.1(postcss@8.4.39) postcss-selector-parser: 6.0.13 resolve: 1.22.8 sucrase: 3.32.0 transitivePeerDependencies: - ts-node - tailwindcss@3.4.4(ts-node@10.9.1(@types/node@20.10.5)(typescript@5.4.5)): + tailwindcss@3.4.6(ts-node@10.9.1(@types/node@20.11.13)(typescript@5.2.2)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -29980,24 +30814,24 @@ snapshots: fast-glob: 3.3.2 glob-parent: 6.0.2 is-glob: 4.0.3 - jiti: 1.21.0 + jiti: 1.21.6 lilconfig: 2.1.0 - micromatch: 4.0.5 + micromatch: 4.0.7 normalize-path: 3.0.0 object-hash: 3.0.0 - picocolors: 1.0.0 - postcss: 8.4.38 - postcss-import: 15.1.0(postcss@8.4.38) - postcss-js: 4.0.1(postcss@8.4.38) - postcss-load-config: 4.0.1(postcss@8.4.38)(ts-node@10.9.1(@types/node@20.10.5)(typescript@5.4.5)) - postcss-nested: 6.0.1(postcss@8.4.38) + picocolors: 1.0.1 + postcss: 8.4.39 + postcss-import: 15.1.0(postcss@8.4.39) + postcss-js: 4.0.1(postcss@8.4.39) + postcss-load-config: 4.0.1(postcss@8.4.39)(ts-node@10.9.1(@types/node@20.11.13)(typescript@5.2.2)) + postcss-nested: 6.0.1(postcss@8.4.39) postcss-selector-parser: 6.0.13 resolve: 1.22.8 sucrase: 3.32.0 transitivePeerDependencies: - ts-node - tailwindcss@3.4.4(ts-node@10.9.1(@types/node@20.11.13)(typescript@5.2.2)): + tailwindcss@3.4.6(ts-node@10.9.1(@types/node@20.14.11)(typescript@5.4.5)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -30007,17 +30841,17 @@ snapshots: fast-glob: 3.3.2 glob-parent: 6.0.2 is-glob: 4.0.3 - jiti: 1.21.0 + jiti: 1.21.6 lilconfig: 2.1.0 - micromatch: 4.0.5 + micromatch: 4.0.7 normalize-path: 3.0.0 object-hash: 3.0.0 - picocolors: 1.0.0 - postcss: 8.4.38 - postcss-import: 15.1.0(postcss@8.4.38) - postcss-js: 4.0.1(postcss@8.4.38) - postcss-load-config: 4.0.1(postcss@8.4.38)(ts-node@10.9.1(@types/node@20.11.13)(typescript@5.2.2)) - postcss-nested: 6.0.1(postcss@8.4.38) + picocolors: 1.0.1 + postcss: 8.4.39 + postcss-import: 15.1.0(postcss@8.4.39) + postcss-js: 4.0.1(postcss@8.4.39) + postcss-load-config: 4.0.1(postcss@8.4.39)(ts-node@10.9.1(@types/node@20.14.11)(typescript@5.4.5)) + postcss-nested: 6.0.1(postcss@8.4.39) postcss-selector-parser: 6.0.13 resolve: 1.22.8 sucrase: 3.32.0 @@ -30078,6 +30912,13 @@ snapshots: commander: 2.20.3 source-map-support: 0.5.21 + terser@5.31.3: + dependencies: + '@jridgewell/source-map': 0.3.6 + acorn: 8.12.1 + commander: 2.20.3 + source-map-support: 0.5.21 + test-exclude@6.0.0: dependencies: '@istanbuljs/schema': 0.1.3 @@ -30272,16 +31113,16 @@ snapshots: ts-log@2.2.5: {} - ts-node@10.9.1(@types/node@16.18.34)(typescript@5.4.5): + ts-node@10.9.1(@types/node@20.10.5)(typescript@5.4.5): dependencies: '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 + '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 16.18.34 - acorn: 8.11.3 - acorn-walk: 8.3.2 + '@types/node': 20.10.5 + acorn: 8.12.1 + acorn-walk: 8.3.3 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 @@ -30291,35 +31132,35 @@ snapshots: yn: 3.1.1 optional: true - ts-node@10.9.1(@types/node@18.15.3)(typescript@5.4.5): + ts-node@10.9.1(@types/node@20.11.13)(typescript@5.2.2): dependencies: '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 + '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 18.15.3 - acorn: 8.11.3 - acorn-walk: 8.3.2 + '@types/node': 20.11.13 + acorn: 8.12.1 + acorn-walk: 8.3.3 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.4.5 + typescript: 5.2.2 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 optional: true - ts-node@10.9.1(@types/node@20.10.5)(typescript@5.4.5): + ts-node@10.9.1(@types/node@20.14.11)(typescript@5.4.5): dependencies: '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 + '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.10.5 - acorn: 8.11.3 - acorn-walk: 8.3.2 + '@types/node': 20.14.11 + acorn: 8.12.1 + acorn-walk: 8.3.3 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 @@ -30329,25 +31170,6 @@ snapshots: yn: 3.1.1 optional: true - ts-node@10.9.1(@types/node@20.11.13)(typescript@5.2.2): - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.4 - '@types/node': 20.11.13 - acorn: 8.11.3 - acorn-walk: 8.3.2 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 5.2.2 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - optional: true - ts-toolbelt@9.6.0: {} tsconfig-paths@3.14.2: @@ -30374,7 +31196,7 @@ snapshots: tslib@2.6.3: {} - tsup@6.7.0(postcss@8.4.39)(ts-node@10.9.1(@types/node@18.15.3)(typescript@5.4.5))(typescript@5.4.5): + tsup@6.7.0(postcss@8.4.39)(ts-node@10.9.1(@types/node@20.14.11)(typescript@5.4.5))(typescript@5.4.5): dependencies: bundle-require: 4.0.1(esbuild@0.17.19) cac: 6.7.14 @@ -30384,7 +31206,7 @@ snapshots: execa: 5.1.1 globby: 11.1.0 joycon: 3.1.1 - postcss-load-config: 3.1.4(postcss@8.4.39)(ts-node@10.9.1(@types/node@18.15.3)(typescript@5.4.5)) + postcss-load-config: 3.1.4(postcss@8.4.39)(ts-node@10.9.1(@types/node@20.14.11)(typescript@5.4.5)) resolve-from: 5.0.0 rollup: 3.25.3 source-map: 0.8.0-beta.0 @@ -30413,32 +31235,32 @@ snapshots: tunnel@0.0.6: {} - turbo-darwin-64@2.0.6: + turbo-darwin-64@2.0.9: optional: true - turbo-darwin-arm64@2.0.6: + turbo-darwin-arm64@2.0.9: optional: true - turbo-linux-64@2.0.6: + turbo-linux-64@2.0.9: optional: true - turbo-linux-arm64@2.0.6: + turbo-linux-arm64@2.0.9: optional: true - turbo-windows-64@2.0.6: + turbo-windows-64@2.0.9: optional: true - turbo-windows-arm64@2.0.6: + turbo-windows-arm64@2.0.9: optional: true - turbo@2.0.6: + turbo@2.0.9: optionalDependencies: - turbo-darwin-64: 2.0.6 - turbo-darwin-arm64: 2.0.6 - turbo-linux-64: 2.0.6 - turbo-linux-arm64: 2.0.6 - turbo-windows-64: 2.0.6 - turbo-windows-arm64: 2.0.6 + turbo-darwin-64: 2.0.9 + turbo-darwin-arm64: 2.0.9 + turbo-linux-64: 2.0.9 + turbo-linux-arm64: 2.0.9 + turbo-windows-64: 2.0.9 + turbo-windows-arm64: 2.0.9 type-check@0.4.0: dependencies: @@ -30498,7 +31320,7 @@ snapshots: typed-array-byte-offset@1.0.0: dependencies: - available-typed-arrays: 1.0.7 + available-typed-arrays: 1.0.5 call-bind: 1.0.7 for-each: 0.3.3 has-proto: 1.0.3 @@ -30515,9 +31337,9 @@ snapshots: typed-array-length@1.0.4: dependencies: - call-bind: 1.0.7 + call-bind: 1.0.2 for-each: 0.3.3 - is-typed-array: 1.1.12 + is-typed-array: 1.1.10 typed-array-length@1.0.6: dependencies: @@ -30565,6 +31387,8 @@ snapshots: ufo@1.5.3: {} + ufo@1.5.4: {} + uglify-js@3.17.4: optional: true @@ -30598,7 +31422,7 @@ snapshots: dependencies: '@fastify/busboy': 2.1.1 - unenv@1.9.0: + unenv@1.10.0: dependencies: consola: 3.2.3 defu: 6.1.4 @@ -30673,13 +31497,13 @@ snapshots: anymatch: 3.1.3 chokidar: 3.6.0 destr: 2.0.3 - h3: 1.11.1 + h3: 1.12.0 listhen: 1.7.2 - lru-cache: 10.2.0 + lru-cache: 10.4.3 mri: 1.2.0 node-fetch-native: 1.6.4 ofetch: 1.3.4 - ufo: 1.5.3 + ufo: 1.5.4 optionalDependencies: idb-keyval: 6.2.1 transitivePeerDependencies: @@ -30724,6 +31548,12 @@ snapshots: escalade: 3.1.1 picocolors: 1.0.1 + update-browserslist-db@1.1.0(browserslist@4.23.2): + dependencies: + browserslist: 4.23.2 + escalade: 3.1.2 + picocolors: 1.0.1 + upper-case-first@2.0.2: dependencies: tslib: 2.6.3 @@ -30842,14 +31672,14 @@ snapshots: unist-util-stringify-position: 2.0.3 vfile-message: 2.0.4 - viem@1.21.4(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.22.4): + viem@1.21.4(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.23.8): dependencies: '@adraffy/ens-normalize': 1.10.0 '@noble/curves': 1.2.0 '@noble/hashes': 1.3.2 '@scure/bip32': 1.3.2 '@scure/bip39': 1.2.1 - abitype: 0.9.8(typescript@5.2.2)(zod@3.22.4) + abitype: 0.9.8(typescript@5.2.2)(zod@3.23.8) isows: 1.0.3(ws@8.13.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)) ws: 8.13.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) optionalDependencies: @@ -30859,14 +31689,14 @@ snapshots: - utf-8-validate - zod - viem@1.21.4(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.22.4): + viem@1.21.4(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.23.8): dependencies: '@adraffy/ens-normalize': 1.10.0 '@noble/curves': 1.2.0 '@noble/hashes': 1.3.2 '@scure/bip32': 1.3.2 '@scure/bip39': 1.2.1 - abitype: 0.9.8(typescript@5.4.5)(zod@3.22.4) + abitype: 0.9.8(typescript@5.4.5)(zod@3.23.8) isows: 1.0.3(ws@8.13.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)) ws: 8.13.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) optionalDependencies: @@ -30876,14 +31706,14 @@ snapshots: - utf-8-validate - zod - viem@2.10.2(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.22.4): + viem@2.10.2(bufferutil@4.0.8)(typescript@5.2.2)(utf-8-validate@6.0.4)(zod@3.23.8): dependencies: '@adraffy/ens-normalize': 1.10.0 '@noble/curves': 1.2.0 '@noble/hashes': 1.3.2 '@scure/bip32': 1.3.2 '@scure/bip39': 1.2.1 - abitype: 1.0.0(typescript@5.2.2)(zod@3.22.4) + abitype: 1.0.0(typescript@5.2.2)(zod@3.23.8) isows: 1.0.3(ws@8.13.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)) ws: 8.13.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) optionalDependencies: @@ -30893,14 +31723,14 @@ snapshots: - utf-8-validate - zod - viem@2.10.2(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.22.4): + viem@2.10.2(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)(zod@3.23.8): dependencies: '@adraffy/ens-normalize': 1.10.0 '@noble/curves': 1.2.0 '@noble/hashes': 1.3.2 '@scure/bip32': 1.3.2 '@scure/bip39': 1.2.1 - abitype: 1.0.0(typescript@5.4.5)(zod@3.22.4) + abitype: 1.0.0(typescript@5.4.5)(zod@3.23.8) isows: 1.0.3(ws@8.13.0(bufferutil@4.0.8)(utf-8-validate@6.0.4)) ws: 8.13.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) optionalDependencies: @@ -30910,30 +31740,13 @@ snapshots: - utf-8-validate - zod - vite-node@1.6.0(@types/node@18.15.3)(terser@5.18.2): - dependencies: - cac: 6.7.14 - debug: 4.3.5(supports-color@5.5.0) - pathe: 1.1.2 - picocolors: 1.0.1 - vite: 5.3.3(@types/node@18.15.3)(terser@5.18.2) - transitivePeerDependencies: - - '@types/node' - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - - vite-node@1.6.0(@types/node@20.10.5)(terser@5.18.2): + vite-node@1.6.0(@types/node@20.10.5)(terser@5.31.3): dependencies: cac: 6.7.14 debug: 4.3.5(supports-color@5.5.0) pathe: 1.1.2 picocolors: 1.0.1 - vite: 5.3.3(@types/node@20.10.5)(terser@5.18.2) + vite: 5.3.4(@types/node@20.10.5)(terser@5.31.3) transitivePeerDependencies: - '@types/node' - less @@ -30944,13 +31757,13 @@ snapshots: - supports-color - terser - vite-node@1.6.0(@types/node@20.11.13)(terser@5.18.2): + vite-node@1.6.0(@types/node@20.14.11)(terser@5.31.3): dependencies: cac: 6.7.14 debug: 4.3.5(supports-color@5.5.0) pathe: 1.1.2 picocolors: 1.0.1 - vite: 5.3.3(@types/node@20.11.13)(terser@5.18.2) + vite: 5.3.4(@types/node@20.14.11)(terser@5.31.3) transitivePeerDependencies: - '@types/node' - less @@ -30961,17 +31774,17 @@ snapshots: - supports-color - terser - vite-plugin-json5@1.1.2(@rollup/pluginutils@5.1.0(rollup@4.16.4))(vite@5.3.3(@types/node@18.15.3)(terser@5.18.2)): + vite-plugin-json5@1.1.2(@rollup/pluginutils@5.1.0(rollup@4.19.0))(vite@5.3.4(@types/node@20.14.11)(terser@5.31.3)): dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.16.4) + '@rollup/pluginutils': 5.1.0(rollup@4.19.0) json5: 2.2.3 - vite: 5.3.3(@types/node@18.15.3)(terser@5.18.2) + vite: 5.3.4(@types/node@20.14.11)(terser@5.31.3) - vite-plugin-node-polyfills@0.22.0(rollup@4.16.4)(vite@5.3.3(@types/node@18.15.3)(terser@5.18.2)): + vite-plugin-node-polyfills@0.22.0(rollup@4.19.0)(vite@5.3.4(@types/node@20.14.11)(terser@5.31.3)): dependencies: - '@rollup/plugin-inject': 5.0.5(rollup@4.16.4) + '@rollup/plugin-inject': 5.0.5(rollup@4.19.0) node-stdlib-browser: 1.2.0 - vite: 5.3.3(@types/node@18.15.3)(terser@5.18.2) + vite: 5.3.4(@types/node@20.14.11)(terser@5.31.3) transitivePeerDependencies: - rollup @@ -30981,63 +31794,53 @@ snapshots: fast-glob: 3.3.1 minimatch: 6.2.0 - vite@5.3.3(@types/node@18.15.3)(terser@5.18.2): - dependencies: - esbuild: 0.21.5 - postcss: 8.4.39 - rollup: 4.16.4 - optionalDependencies: - '@types/node': 18.15.3 - fsevents: 2.3.3 - terser: 5.18.2 - - vite@5.3.3(@types/node@20.10.5)(terser@5.18.2): + vite@5.3.4(@types/node@20.10.5)(terser@5.31.3): dependencies: esbuild: 0.21.5 postcss: 8.4.39 - rollup: 4.16.4 + rollup: 4.19.0 optionalDependencies: '@types/node': 20.10.5 fsevents: 2.3.3 - terser: 5.18.2 + terser: 5.31.3 - vite@5.3.3(@types/node@20.11.13)(terser@5.18.2): + vite@5.3.4(@types/node@20.14.11)(terser@5.31.3): dependencies: esbuild: 0.21.5 postcss: 8.4.39 - rollup: 4.16.4 + rollup: 4.19.0 optionalDependencies: - '@types/node': 20.11.13 + '@types/node': 20.14.11 fsevents: 2.3.3 - terser: 5.18.2 + terser: 5.31.3 - vitepress-plugin-search@1.0.4-alpha.19(flexsearch@0.7.43)(vitepress@1.3.1(@algolia/client-search@4.22.1)(@types/node@20.11.13)(@types/react@18.3.3)(change-case@4.1.2)(idb-keyval@6.2.1)(postcss@8.4.39)(qrcode@1.5.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.11.0)(terser@5.18.2)(typescript@5.4.5))(vue@3.4.31(typescript@5.4.5)): + vitepress-plugin-search@1.0.4-alpha.19(flexsearch@0.7.43)(vitepress@1.3.1(@algolia/client-search@4.22.1)(@types/node@20.14.11)(@types/react@18.3.3)(change-case@4.1.2)(idb-keyval@6.2.1)(postcss@8.4.39)(qrcode@1.5.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.11.0)(terser@5.31.3)(typescript@5.4.5))(vue@3.4.33(typescript@5.4.5)): dependencies: '@types/flexsearch': 0.7.3 '@types/markdown-it': 12.2.3 flexsearch: 0.7.43 markdown-it: 13.0.1 - vitepress: 1.3.1(@algolia/client-search@4.22.1)(@types/node@20.11.13)(@types/react@18.3.3)(change-case@4.1.2)(idb-keyval@6.2.1)(postcss@8.4.39)(qrcode@1.5.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.11.0)(terser@5.18.2)(typescript@5.4.5) - vue: 3.4.31(typescript@5.4.5) + vitepress: 1.3.1(@algolia/client-search@4.22.1)(@types/node@20.14.11)(@types/react@18.3.3)(change-case@4.1.2)(idb-keyval@6.2.1)(postcss@8.4.39)(qrcode@1.5.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.11.0)(terser@5.31.3)(typescript@5.4.5) + vue: 3.4.33(typescript@5.4.5) - vitepress@1.3.1(@algolia/client-search@4.22.1)(@types/node@20.11.13)(@types/react@18.3.3)(change-case@4.1.2)(idb-keyval@6.2.1)(postcss@8.4.39)(qrcode@1.5.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.11.0)(terser@5.18.2)(typescript@5.4.5): + vitepress@1.3.1(@algolia/client-search@4.22.1)(@types/node@20.14.11)(@types/react@18.3.3)(change-case@4.1.2)(idb-keyval@6.2.1)(postcss@8.4.39)(qrcode@1.5.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.11.0)(terser@5.31.3)(typescript@5.4.5): dependencies: '@docsearch/css': 3.6.0 '@docsearch/js': 3.6.0(@algolia/client-search@4.22.1)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.11.0) '@shikijs/core': 1.10.3 '@shikijs/transformers': 1.10.3 '@types/markdown-it': 14.1.1 - '@vitejs/plugin-vue': 5.0.5(vite@5.3.3(@types/node@20.11.13)(terser@5.18.2))(vue@3.4.31(typescript@5.4.5)) + '@vitejs/plugin-vue': 5.0.5(vite@5.3.4(@types/node@20.14.11)(terser@5.31.3))(vue@3.4.33(typescript@5.4.5)) '@vue/devtools-api': 7.3.6 '@vue/shared': 3.4.31 - '@vueuse/core': 10.11.0(vue@3.4.31(typescript@5.4.5)) - '@vueuse/integrations': 10.11.0(change-case@4.1.2)(focus-trap@7.5.4)(idb-keyval@6.2.1)(qrcode@1.5.3)(vue@3.4.31(typescript@5.4.5)) + '@vueuse/core': 10.11.0(vue@3.4.33(typescript@5.4.5)) + '@vueuse/integrations': 10.11.0(change-case@4.1.2)(focus-trap@7.5.4)(idb-keyval@6.2.1)(qrcode@1.5.3)(vue@3.4.33(typescript@5.4.5)) focus-trap: 7.5.4 mark.js: 8.11.1 minisearch: 7.0.0 shiki: 1.10.3 - vite: 5.3.3(@types/node@20.11.13)(terser@5.18.2) - vue: 3.4.31(typescript@5.4.5) + vite: 5.3.4(@types/node@20.14.11)(terser@5.31.3) + vue: 3.4.33(typescript@5.4.5) optionalDependencies: postcss: 8.4.39 transitivePeerDependencies: @@ -31067,42 +31870,7 @@ snapshots: - typescript - universal-cookie - vitest@1.6.0(@types/node@18.15.3)(@vitest/browser@1.6.0)(jsdom@16.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(terser@5.18.2): - dependencies: - '@vitest/expect': 1.6.0 - '@vitest/runner': 1.6.0 - '@vitest/snapshot': 1.6.0 - '@vitest/spy': 1.6.0 - '@vitest/utils': 1.6.0 - acorn-walk: 8.3.2 - chai: 4.4.1 - debug: 4.3.5(supports-color@5.5.0) - execa: 8.0.1 - local-pkg: 0.5.0 - magic-string: 0.30.10 - pathe: 1.1.2 - picocolors: 1.0.1 - std-env: 3.7.0 - strip-literal: 2.1.0 - tinybench: 2.8.0 - tinypool: 0.8.4 - vite: 5.3.3(@types/node@18.15.3)(terser@5.18.2) - vite-node: 1.6.0(@types/node@18.15.3)(terser@5.18.2) - why-is-node-running: 2.2.2 - optionalDependencies: - '@types/node': 18.15.3 - '@vitest/browser': 1.6.0(playwright@1.45.1)(vitest@1.6.0)(webdriverio@8.39.1(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)) - jsdom: 16.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) - transitivePeerDependencies: - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - - vitest@1.6.0(@types/node@20.10.5)(@vitest/browser@1.6.0)(jsdom@16.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(terser@5.18.2): + vitest@1.6.0(@types/node@20.10.5)(@vitest/browser@1.6.0)(jsdom@16.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(terser@5.31.3): dependencies: '@vitest/expect': 1.6.0 '@vitest/runner': 1.6.0 @@ -31121,12 +31889,12 @@ snapshots: strip-literal: 2.1.0 tinybench: 2.8.0 tinypool: 0.8.4 - vite: 5.3.3(@types/node@20.10.5)(terser@5.18.2) - vite-node: 1.6.0(@types/node@20.10.5)(terser@5.18.2) + vite: 5.3.4(@types/node@20.10.5)(terser@5.31.3) + vite-node: 1.6.0(@types/node@20.10.5)(terser@5.31.3) why-is-node-running: 2.2.2 optionalDependencies: '@types/node': 20.10.5 - '@vitest/browser': 1.6.0(playwright@1.45.1)(vitest@1.6.0)(webdriverio@8.39.1(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)) + '@vitest/browser': 1.6.0(playwright@1.45.3)(vitest@1.6.0)(webdriverio@8.39.1(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)) jsdom: 16.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) transitivePeerDependencies: - less @@ -31137,7 +31905,7 @@ snapshots: - supports-color - terser - vitest@1.6.0(@types/node@20.11.13)(@vitest/browser@1.6.0)(jsdom@16.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(terser@5.18.2): + vitest@1.6.0(@types/node@20.14.11)(@vitest/browser@1.6.0)(jsdom@16.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(terser@5.31.3): dependencies: '@vitest/expect': 1.6.0 '@vitest/runner': 1.6.0 @@ -31156,12 +31924,12 @@ snapshots: strip-literal: 2.1.0 tinybench: 2.8.0 tinypool: 0.8.4 - vite: 5.3.3(@types/node@20.11.13)(terser@5.18.2) - vite-node: 1.6.0(@types/node@20.11.13)(terser@5.18.2) + vite: 5.3.4(@types/node@20.14.11)(terser@5.31.3) + vite-node: 1.6.0(@types/node@20.14.11)(terser@5.31.3) why-is-node-running: 2.2.2 optionalDependencies: - '@types/node': 20.11.13 - '@vitest/browser': 1.6.0(playwright@1.45.1)(vitest@1.6.0)(webdriverio@8.39.1(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)) + '@types/node': 20.14.11 + '@vitest/browser': 1.6.0(playwright@1.45.3)(vitest@1.6.0)(webdriverio@8.39.1(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4)) jsdom: 16.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) transitivePeerDependencies: - less @@ -31182,28 +31950,28 @@ snapshots: vscode-textmate@8.0.0: {} - vue-demi@0.14.8(vue@3.4.31(typescript@5.4.5)): + vue-demi@0.14.8(vue@3.4.33(typescript@5.4.5)): dependencies: - vue: 3.4.31(typescript@5.4.5) + vue: 3.4.33(typescript@5.4.5) - vue@3.4.31(typescript@5.2.2): + vue@3.4.33(typescript@5.2.2): dependencies: - '@vue/compiler-dom': 3.4.31 - '@vue/compiler-sfc': 3.4.31 - '@vue/runtime-dom': 3.4.31 - '@vue/server-renderer': 3.4.31(vue@3.4.31(typescript@5.2.2)) - '@vue/shared': 3.4.31 + '@vue/compiler-dom': 3.4.33 + '@vue/compiler-sfc': 3.4.33 + '@vue/runtime-dom': 3.4.33 + '@vue/server-renderer': 3.4.33(vue@3.4.33(typescript@5.2.2)) + '@vue/shared': 3.4.33 optionalDependencies: typescript: 5.2.2 optional: true - vue@3.4.31(typescript@5.4.5): + vue@3.4.33(typescript@5.4.5): dependencies: - '@vue/compiler-dom': 3.4.31 - '@vue/compiler-sfc': 3.4.31 - '@vue/runtime-dom': 3.4.31 - '@vue/server-renderer': 3.4.31(vue@3.4.31(typescript@5.4.5)) - '@vue/shared': 3.4.31 + '@vue/compiler-dom': 3.4.33 + '@vue/compiler-sfc': 3.4.33 + '@vue/runtime-dom': 3.4.33 + '@vue/server-renderer': 3.4.33(vue@3.4.33(typescript@5.4.5)) + '@vue/shared': 3.4.33 optionalDependencies: typescript: 5.4.5 @@ -31218,7 +31986,7 @@ snapshots: wait-port@1.1.0: dependencies: chalk: 4.1.2 - commander: 9.4.1 + commander: 9.5.0 debug: 4.3.5(supports-color@5.5.0) transitivePeerDependencies: - supports-color @@ -31250,11 +32018,11 @@ snapshots: '@peculiar/json-schema': 1.1.12 asn1js: 3.0.5 pvtsutils: 1.3.2 - tslib: 2.6.3 + tslib: 2.6.0 webdriver@8.39.0(bufferutil@4.0.8)(utf-8-validate@6.0.4): dependencies: - '@types/node': 20.11.13 + '@types/node': 20.14.11 '@types/ws': 8.5.5 '@wdio/config': 8.39.0 '@wdio/logger': 8.38.0 @@ -31272,7 +32040,7 @@ snapshots: webdriverio@8.39.1(bufferutil@4.0.8)(typescript@5.4.5)(utf-8-validate@6.0.4): dependencies: - '@types/node': 20.11.13 + '@types/node': 20.14.11 '@wdio/config': 8.39.0 '@wdio/logger': 8.38.0 '@wdio/protocols': 8.38.0 @@ -31426,6 +32194,8 @@ snapshots: whatwg-fetch@3.6.2: {} + whatwg-fetch@3.6.20: {} + whatwg-mimetype@2.3.0: {} whatwg-url@5.0.0: @@ -31465,7 +32235,7 @@ snapshots: is-weakref: 1.0.2 isarray: 2.0.5 which-boxed-primitive: 1.0.2 - which-collection: 1.0.1 + which-collection: 1.0.2 which-typed-array: 1.1.15 which-collection@1.0.1: @@ -31475,6 +32245,13 @@ snapshots: is-weakmap: 2.0.1 is-weakset: 2.0.2 + which-collection@1.0.2: + dependencies: + is-map: 2.0.3 + is-set: 2.0.3 + is-weakmap: 2.0.2 + is-weakset: 2.0.3 + which-module@2.0.1: {} which-pm@2.0.0: @@ -31671,13 +32448,18 @@ snapshots: dependencies: mkdirp: 0.5.6 - ws@6.2.2(bufferutil@4.0.8)(utf-8-validate@6.0.4): + ws@6.2.3(bufferutil@4.0.8)(utf-8-validate@6.0.4): dependencies: async-limiter: 1.0.1 optionalDependencies: bufferutil: 4.0.8 utf-8-validate: 6.0.4 + ws@7.5.10(bufferutil@4.0.8)(utf-8-validate@6.0.4): + optionalDependencies: + bufferutil: 4.0.8 + utf-8-validate: 6.0.4 + ws@7.5.9(bufferutil@4.0.8)(utf-8-validate@6.0.4): optionalDependencies: bufferutil: 4.0.8 @@ -31802,12 +32584,14 @@ snapshots: compress-commons: 6.0.2 readable-stream: 4.5.2 - zod-validation-error@3.1.0(zod@3.22.4): + zod-validation-error@3.3.0(zod@3.23.8): dependencies: - zod: 3.22.4 + zod: 3.23.8 zod@3.22.4: {} + zod@3.23.8: {} + zustand@4.4.1(@types/react@18.3.3)(immer@9.0.21)(react@18.3.1): dependencies: use-sync-external-store: 1.2.0(react@18.3.1) diff --git a/templates/nextjs/package.json b/templates/nextjs/package.json index b1623ee6946..9d558a7ade4 100644 --- a/templates/nextjs/package.json +++ b/templates/nextjs/package.json @@ -15,13 +15,13 @@ "@fuels/connectors": "^0.8.1", "@fuels/react": "^0.20.0", "fuels": "workspace:*", - "@tanstack/react-query": "^5.51.1", + "@tanstack/react-query": "^5.51.11", "dotenv": "^16.4.5", "next": "14.2.5", "react": "^18.3", "react-dom": "^18.3", "react-hot-toast": "^2.4.1", - "react-use": "^17.5.0" + "react-use": "^17.5.1" }, "devDependencies": { "@types/node": "^20", @@ -31,7 +31,7 @@ "eslint": "^8", "eslint-config-next": "14.2.5", "postcss": "^8", - "tailwindcss": "^3.4.4", + "tailwindcss": "^3.4.6", "typescript": "~5.4.5", "vitest": "^1.6.0" } From 073f7d99d7667436c0aa88838cf38b1a81fdfffd Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Tue, 23 Jul 2024 19:47:12 -0300 Subject: [PATCH 41/95] Updating API --- packages/fuel-gauge/src/contract-factory.test.ts | 2 +- .../fuel-gauge/src/predicate/predicate-configurables.test.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/fuel-gauge/src/contract-factory.test.ts b/packages/fuel-gauge/src/contract-factory.test.ts index 041e9f29ff1..945d43d23f2 100644 --- a/packages/fuel-gauge/src/contract-factory.test.ts +++ b/packages/fuel-gauge/src/contract-factory.test.ts @@ -251,7 +251,7 @@ describe('Contract Factory', () => { } = launched; const largeByteCode = `0x${'00'.repeat(112400)}`; - const factory = new ContractFactory(largeByteCode, StorageTestContractAbi__factory.abi, wallet); + const factory = new ContractFactory(largeByteCode, StorageTestContract.abi, wallet); await expectToThrowFuelError( async () => factory.deployContract(), diff --git a/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts b/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts index db6b47df9a6..2369fa7703b 100644 --- a/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts @@ -209,7 +209,7 @@ describe('Predicate', () => { const amountToTransfer = 300; - const predicate = PredicateWithConfigurableAbi__factory.createInstance( + const predicate = new PredicateWithConfigurable( provider, [defaultValues.FEE, configurableConstants.ADDRESS], configurableConstants From ee7c570f342ccc6fab0e87688f1f303fbfc39b80 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Tue, 23 Jul 2024 19:51:23 -0300 Subject: [PATCH 42/95] Adjusting fixture --- .../fixtures/templates/contract-with-configurable/main.hbs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/abi-typegen/test/fixtures/templates/contract-with-configurable/main.hbs b/packages/abi-typegen/test/fixtures/templates/contract-with-configurable/main.hbs index 9841ff10a78..313afb15500 100644 --- a/packages/abi-typegen/test/fixtures/templates/contract-with-configurable/main.hbs +++ b/packages/abi-typegen/test/fixtures/templates/contract-with-configurable/main.hbs @@ -17,9 +17,9 @@ import type { InvokeFunction, } from 'fuels'; -export type MyContractConfigurables = { +export type MyContractConfigurables = Partial<{ SHOULD_RETURN: boolean; -}; +}>; const abi = { "encoding": "1", From c3c0a5566f5a298a3ac2cb3a42480c709e21773e Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Tue, 23 Jul 2024 20:37:53 -0300 Subject: [PATCH 43/95] Adding changeset --- .changeset/empty-lemons-ring.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .changeset/empty-lemons-ring.md diff --git a/.changeset/empty-lemons-ring.md b/.changeset/empty-lemons-ring.md new file mode 100644 index 00000000000..fe3bf4ac0f4 --- /dev/null +++ b/.changeset/empty-lemons-ring.md @@ -0,0 +1,7 @@ +--- +"@fuel-ts/abi-typegen": patch +"@fuel-ts/contract": patch +"fuels": patch +--- + +feat!: prettify `typegen` api From 107072740795da7094440a8cc5302269acd6f71e Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Tue, 23 Jul 2024 20:46:26 -0300 Subject: [PATCH 44/95] Adjusting changeset --- .changeset/empty-lemons-ring.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.changeset/empty-lemons-ring.md b/.changeset/empty-lemons-ring.md index fe3bf4ac0f4..5dded68af4b 100644 --- a/.changeset/empty-lemons-ring.md +++ b/.changeset/empty-lemons-ring.md @@ -1,7 +1,7 @@ --- -"@fuel-ts/abi-typegen": patch -"@fuel-ts/contract": patch -"fuels": patch +"@fuel-ts/abi-typegen": minor +"@fuel-ts/contract": minor +"create-fuels": minor --- feat!: prettify `typegen` api From 6a9d40c7616773abd935d1924f558fe771301680 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Wed, 24 Jul 2024 08:31:51 -0300 Subject: [PATCH 45/95] Stop omitting `run` command to make knip happy --- apps/demo-fuels/package.json | 2 +- packages/abi-typegen/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/demo-fuels/package.json b/apps/demo-fuels/package.json index 6fe1b1cf251..97304399f8d 100644 --- a/apps/demo-fuels/package.json +++ b/apps/demo-fuels/package.json @@ -6,7 +6,7 @@ "scripts": { "build": "pnpm fuels build", "pretest": "pnpm build", - "test": "cd ../.. && pnpm test:filter apps/demo-fuels" + "test": "cd ../.. && pnpm run test:filter apps/demo-fuels" }, "license": "Apache-2.0", "dependencies": { diff --git a/packages/abi-typegen/package.json b/packages/abi-typegen/package.json index 07f9eca6a5f..4b4230dccf3 100644 --- a/packages/abi-typegen/package.json +++ b/packages/abi-typegen/package.json @@ -44,7 +44,7 @@ ], "scripts": { "pretest": "run-s build:forc-callpaths build:forc", - "test": "cd ../.. && pnpm test:filter packages/abi-typegen", + "test": "cd ../.. && pnpm run test:filter packages/abi-typegen", "build": "tsup", "build:forc": "pnpm fuels-forc build -p test/fixtures/forc-projects --release", "build:forc-callpaths": "pnpm fuels-forc build -p test/fixtures/forc-projects --json-abi-with-callpaths", From c1dc94a0b88370886288976d41ccd1ea03b86e30 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Wed, 24 Jul 2024 08:32:19 -0300 Subject: [PATCH 46/95] Deleting obsolete example file --- apps/demo-fuels/src/usage.ts | 19 ------------------- 1 file changed, 19 deletions(-) delete mode 100644 apps/demo-fuels/src/usage.ts diff --git a/apps/demo-fuels/src/usage.ts b/apps/demo-fuels/src/usage.ts deleted file mode 100644 index d8241c20409..00000000000 --- a/apps/demo-fuels/src/usage.ts +++ /dev/null @@ -1,19 +0,0 @@ - -import { Wallet } from 'fuels'; - -import { Sample } from './Sample'; -import { SampleFactory } from './SampleFactory'; - -const PVT_KEY = "asdfasdf"; - -const wallet = Wallet.fromPrivateKey(PVT_KEY); - -// Deploy -const { waitForResult } = await SampleFactory.deploy(wallet); -const { contract: deployedContract } = await waitForResult(); - -// Instantiate -const contractInstance = new Sample(deployedContract.id, wallet); - - -expect(contractInstance.id).toEqual(deployedContract.id); From cd9bd10c3c8a4f90a2988fe425b56f0b3e138635 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Wed, 31 Jul 2024 21:48:24 -0300 Subject: [PATCH 47/95] Fixing residual problems after merge --- .../src/guide/contracts/minted-token-asset-id.test.ts | 5 ++--- .../src/guide/testing/launching-a-test-node.test.ts | 6 ++---- apps/docs-snippets/src/guide/types/options.test.ts | 5 ++--- packages/abi-typegen/src/utils/getTypeDeclaration.ts | 2 +- .../src/predicate/predicate-with-contract.test.ts | 4 ++-- packages/fuel-gauge/src/script-with-options.test.ts | 4 ++-- packages/fuel-gauge/src/transaction-summary.test.ts | 2 +- packages/fuel-gauge/src/void.test.ts | 6 ++---- 8 files changed, 14 insertions(+), 20 deletions(-) diff --git a/apps/docs-snippets/src/guide/contracts/minted-token-asset-id.test.ts b/apps/docs-snippets/src/guide/contracts/minted-token-asset-id.test.ts index c62f099be8e..fb159f0aeb8 100644 --- a/apps/docs-snippets/src/guide/contracts/minted-token-asset-id.test.ts +++ b/apps/docs-snippets/src/guide/contracts/minted-token-asset-id.test.ts @@ -1,8 +1,7 @@ import { bn, getMintedAssetId } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { TokenAbi__factory } from '../../../test/typegen'; -import TokenAbiHex from '../../../test/typegen/contracts/TokenAbi.hex'; +import { TokenFactory } from '../../../test/typegen'; /** * @group node @@ -10,7 +9,7 @@ import TokenAbiHex from '../../../test/typegen/contracts/TokenAbi.hex'; describe(__filename, () => { it('should successfully execute contract call with forwarded amount', async () => { using launched = await launchTestNode({ - contractsConfigs: [{ deployer: TokenAbi__factory, bytecode: TokenAbiHex }], + contractsConfigs: [{ factory: TokenFactory }], }); const { diff --git a/apps/docs-snippets/src/guide/testing/launching-a-test-node.test.ts b/apps/docs-snippets/src/guide/testing/launching-a-test-node.test.ts index 1f6a9285be6..0ff1d4505a5 100644 --- a/apps/docs-snippets/src/guide/testing/launching-a-test-node.test.ts +++ b/apps/docs-snippets/src/guide/testing/launching-a-test-node.test.ts @@ -50,8 +50,7 @@ describe('launching a test node', () => { // #region basic-example // #import { launchTestNode }; - // #context import { TestContract } from 'path/to/typegen/output'; - // #context import bytecode from 'path/to/typegen/output/TestContract.hex.ts'; + // #context import { CounterFactory } from 'path/to/typegen/output'; using launched = await launchTestNode({ contractsConfigs: [{ factory: CounterFactory }], @@ -75,8 +74,7 @@ describe('launching a test node', () => { // #region advanced-example // #import { launchTestNode, AssetId, TestMessage }; - // #context import { TestContract } from 'path/to/typegen/output'; - // #context import bytecode from 'path/to/typegen/output/TestContract.hex.ts'; + // #context import { CounterFactory } from 'path/to/typegen/output'; const assets = AssetId.random(2); const message = new TestMessage({ amount: 1000 }); diff --git a/apps/docs-snippets/src/guide/types/options.test.ts b/apps/docs-snippets/src/guide/types/options.test.ts index fb18259debd..73c53b15a4e 100644 --- a/apps/docs-snippets/src/guide/types/options.test.ts +++ b/apps/docs-snippets/src/guide/types/options.test.ts @@ -1,11 +1,10 @@ import { launchTestNode } from 'fuels/test-utils'; -import { SumOptionU8Abi__factory } from '../../../test/typegen'; -import bytecode from '../../../test/typegen/contracts/SumOptionU8Abi.hex'; +import { SumOptionU8Factory } from '../../../test/typegen'; function setupContract() { return launchTestNode({ - contractsConfigs: [{ deployer: SumOptionU8Abi__factory, bytecode }], + contractsConfigs: [{ factory: SumOptionU8Factory }], }); } diff --git a/packages/abi-typegen/src/utils/getTypeDeclaration.ts b/packages/abi-typegen/src/utils/getTypeDeclaration.ts index da06887650f..357eb5160a4 100644 --- a/packages/abi-typegen/src/utils/getTypeDeclaration.ts +++ b/packages/abi-typegen/src/utils/getTypeDeclaration.ts @@ -14,7 +14,7 @@ export function resolveInputLabel( let typeDecl: string; - if (typeArguments) { + if (typeArguments?.length) { // recursively process child `typeArguments` typeDecl = parseTypeArguments({ types, diff --git a/packages/fuel-gauge/src/predicate/predicate-with-contract.test.ts b/packages/fuel-gauge/src/predicate/predicate-with-contract.test.ts index 505de4ebee9..96bb469d1d7 100644 --- a/packages/fuel-gauge/src/predicate/predicate-with-contract.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-with-contract.test.ts @@ -2,7 +2,7 @@ import { Contract, Wallet } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; import { CallTestContractFactory, TokenContractFactory } from '../../test/typegen/contracts'; -import { PredicateTrue } from '../../test/typegen/predicates'; +import { PredicateMainArgsStruct, PredicateTrue } from '../../test/typegen/predicates'; import { fundPredicate } from './utils/predicate'; @@ -66,7 +66,7 @@ describe('Predicate', () => { // setup predicate const amountToPredicate = 1_000_000; const amountToReceiver = 200_000; - const predicate = new PredicateTrue(provider, [ + const predicate = new PredicateMainArgsStruct(provider, [ { has_account: true, total_complete: 100, diff --git a/packages/fuel-gauge/src/script-with-options.test.ts b/packages/fuel-gauge/src/script-with-options.test.ts index a53f14e922c..e47cd37c08f 100644 --- a/packages/fuel-gauge/src/script-with-options.test.ts +++ b/packages/fuel-gauge/src/script-with-options.test.ts @@ -2,7 +2,7 @@ import type { BigNumberish } from 'fuels'; import { bn } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { ScriptWithOptionsAbi__factory } from '../test/typegen'; +import { ScriptWithOptions } from '../test/typegen'; import type { Option } from '../test/typegen/contracts/common'; /** @@ -17,7 +17,7 @@ describe('Script With Options', () => { wallets: [wallet], } = launched; - const scriptWithOptions = ScriptWithOptionsAbi__factory.createInstance(wallet); + const scriptWithOptions = new ScriptWithOptions(wallet); const expectedValue = true; const OPTION_SOME: Option = bn(1); const OPTION_NONE: Option = undefined; diff --git a/packages/fuel-gauge/src/transaction-summary.test.ts b/packages/fuel-gauge/src/transaction-summary.test.ts index 2b27519f5c6..47f6132effe 100644 --- a/packages/fuel-gauge/src/transaction-summary.test.ts +++ b/packages/fuel-gauge/src/transaction-summary.test.ts @@ -588,7 +588,7 @@ describe('TransactionSummary', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: MultiTokenContractAbi__factory, + deployer: MultiTokenContractFactory, bytecode: MultiTokenContractAbiHex, }, ], diff --git a/packages/fuel-gauge/src/void.test.ts b/packages/fuel-gauge/src/void.test.ts index 4f5a04b6b81..d2012529c8d 100644 --- a/packages/fuel-gauge/src/void.test.ts +++ b/packages/fuel-gauge/src/void.test.ts @@ -1,8 +1,7 @@ import { launchTestNode } from 'fuels/test-utils'; -import { VoidAbi__factory } from '../test/typegen'; +import { VoidFactory } from '../test/typegen'; import type { NativeEnumInput } from '../test/typegen/contracts/VoidAbi'; -import VoidAbiHex from '../test/typegen/contracts/VoidAbi.hex'; import type { Option } from '../test/typegen/contracts/common'; /** @@ -12,8 +11,7 @@ import type { Option } from '../test/typegen/contracts/common'; describe('Void Tests', () => { const contractsConfigs = [ { - deployer: VoidAbi__factory, - bytecode: VoidAbiHex, + factory: VoidFactory, }, ]; From ef59467704125d01b7e6aebc04cf4adaa20d2c22 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Wed, 31 Jul 2024 21:53:36 -0300 Subject: [PATCH 48/95] Updating fixtures --- .../contract-with-configurable/main.hbs | 147 +++++++++++++++++- .../test/fixtures/templates/contract/main.hbs | 45 +++++- .../src/transaction-summary.test.ts | 3 +- 3 files changed, 181 insertions(+), 14 deletions(-) diff --git a/packages/abi-typegen/test/fixtures/templates/contract-with-configurable/main.hbs b/packages/abi-typegen/test/fixtures/templates/contract-with-configurable/main.hbs index 313afb15500..cede76f19dd 100644 --- a/packages/abi-typegen/test/fixtures/templates/contract-with-configurable/main.hbs +++ b/packages/abi-typegen/test/fixtures/templates/contract-with-configurable/main.hbs @@ -13,12 +13,20 @@ import type { Account, StorageSlot, AbstractAddress, + BigNumberish, FunctionFragment, InvokeFunction, } from 'fuels'; +import type { Option } from "./common"; + +export type GenericStructInput = { p1: T1, p2: T2 }; +export type GenericStructOutput = GenericStructInput; + export type MyContractConfigurables = Partial<{ SHOULD_RETURN: boolean; + AN_OPTION: Option; + A_GENERIC_STRUCT: GenericStructInput, BigNumberish>; }>; const abi = { @@ -26,15 +34,96 @@ const abi = { "types": [ { "typeId": 0, + "type": "()", + "components": [], + "typeParameters": null + }, + { + "typeId": 1, "type": "bool", "components": null, "typeParameters": null }, { - "typeId": 1, + "typeId": 2, + "type": "enum Option", + "components": [ + { + "name": "None", + "type": 0, + "typeArguments": null + }, + { + "name": "Some", + "type": 3, + "typeArguments": null + } + ], + "typeParameters": [ + 3 + ] + }, + { + "typeId": 3, + "type": "generic T", + "components": null, + "typeParameters": null + }, + { + "typeId": 4, + "type": "generic T1", + "components": null, + "typeParameters": null + }, + { + "typeId": 5, + "type": "generic T2", + "components": null, + "typeParameters": null + }, + { + "typeId": 6, "type": "str[10]", "components": null, "typeParameters": null + }, + { + "typeId": 7, + "type": "struct GenericStruct", + "components": [ + { + "name": "p1", + "type": 4, + "typeArguments": null + }, + { + "name": "p2", + "type": 5, + "typeArguments": null + } + ], + "typeParameters": [ + 4, + 5 + ] + }, + { + "typeId": 8, + "type": "u16", + "components": null, + "typeParameters": null + }, + { + "typeId": 9, + "type": "u32", + "components": null, + "typeParameters": null + }, + { + "typeId": 10, + "type": "u8", + "components": null, + "typeParameters": null } ], "functions": [ @@ -42,19 +131,19 @@ const abi = { "inputs": [ { "name": "x", - "type": 1, + "type": 6, "typeArguments": null }, { "name": "y", - "type": 1, + "type": 6, "typeArguments": null } ], "name": "main", "output": { "name": "", - "type": 0, + "type": 1, "typeArguments": null }, "attributes": null @@ -67,10 +156,56 @@ const abi = { "name": "SHOULD_RETURN", "configurableType": { "name": "", - "type": 0, + "type": 1, "typeArguments": null }, - "offset": 1664 + "offset": 2576 + }, + { + "name": "AN_OPTION", + "configurableType": { + "name": "", + "type": 2, + "typeArguments": [ + { + "name": "", + "type": 10, + "typeArguments": null + } + ] + }, + "offset": 2560 + }, + { + "name": "A_GENERIC_STRUCT", + "configurableType": { + "name": "", + "type": 7, + "typeArguments": [ + { + "name": "", + "type": 7, + "typeArguments": [ + { + "name": "", + "type": 10, + "typeArguments": null + }, + { + "name": "", + "type": 8, + "typeArguments": null + } + ] + }, + { + "name": "", + "type": 9, + "typeArguments": null + } + ] + }, + "offset": 2568 } ] }; diff --git a/packages/abi-typegen/test/fixtures/templates/contract/main.hbs b/packages/abi-typegen/test/fixtures/templates/contract/main.hbs index 87d34a937e8..dc39625bbac 100644 --- a/packages/abi-typegen/test/fixtures/templates/contract/main.hbs +++ b/packages/abi-typegen/test/fixtures/templates/contract/main.hbs @@ -1237,6 +1237,37 @@ const abi = { }, "attributes": null }, + { + "inputs": [ + { + "name": "x", + "type": 41, + "typeArguments": null + }, + { + "name": "y", + "type": 41, + "typeArguments": null + }, + { + "name": "z", + "type": 0, + "typeArguments": null + }, + { + "name": "a", + "type": 0, + "typeArguments": null + } + ], + "name": "types_value_then_value_then_empty_then_empty", + "output": { + "name": "", + "type": 0, + "typeArguments": null + }, + "attributes": null + }, { "inputs": [ { @@ -1369,6 +1400,7 @@ export class MyContractInterface extends Interface { types_u8: FunctionFragment; types_value_then_empty: FunctionFragment; types_value_then_empty_then_value: FunctionFragment; + types_value_then_value_then_empty_then_empty: FunctionFragment; types_vector_geo: FunctionFragment; types_vector_option: FunctionFragment; types_vector_u8: FunctionFragment; @@ -1392,15 +1424,15 @@ export class MyContract extends Contract { types_b512: InvokeFunction<[x: string], string>; types_bool: InvokeFunction<[x: boolean], boolean>; types_bytes: InvokeFunction<[x: Bytes], Bytes>; - types_empty: InvokeFunction<[], void>; - types_empty_then_value: InvokeFunction<[y: BigNumberish], void>; + types_empty: InvokeFunction<[x?: undefined], void>; + types_empty_then_value: InvokeFunction<[x: undefined, y: BigNumberish], void>; types_enum: InvokeFunction<[x: MyEnumInput], MyEnumOutput>; types_enum_with_vector: InvokeFunction<[x: EnumWithVectorInput], EnumWithVectorOutput>; types_evm_address: InvokeFunction<[x: EvmAddress], EvmAddress>; types_generic_enum: InvokeFunction<[x: GenericEnumInput], GenericEnumOutput>; types_generic_struct: InvokeFunction<[x: GenericStructWithEnumInput], GenericStructWithEnumOutput>; - types_option: InvokeFunction<[x: Option], Option>; - types_option_geo: InvokeFunction<[x: Option], Option>; + types_option: InvokeFunction<[x?: Option], Option>; + types_option_geo: InvokeFunction<[x?: Option], Option>; types_raw_slice: InvokeFunction<[x: RawSlice], RawSlice>; types_result: InvokeFunction<[x: Result], Result>; types_std_string: InvokeFunction<[x: StdString], StdString>; @@ -1413,8 +1445,9 @@ export class MyContract extends Contract { types_u32: InvokeFunction<[x: BigNumberish], number>; types_u64: InvokeFunction<[x: BigNumberish], BN>; types_u8: InvokeFunction<[x: BigNumberish], number>; - types_value_then_empty: InvokeFunction<[x: BigNumberish], void>; - types_value_then_empty_then_value: InvokeFunction<[x: BigNumberish, z: BigNumberish], void>; + types_value_then_empty: InvokeFunction<[x: BigNumberish, y?: undefined], void>; + types_value_then_empty_then_value: InvokeFunction<[x: BigNumberish, y: undefined, z: BigNumberish], void>; + types_value_then_value_then_empty_then_empty: InvokeFunction<[x: BigNumberish, y: BigNumberish, z?: undefined, a?: undefined], void>; types_vector_geo: InvokeFunction<[x: Vec], Vec>; types_vector_option: InvokeFunction<[x: Vec], Vec>; types_vector_u8: InvokeFunction<[x: Vec], Vec>; diff --git a/packages/fuel-gauge/src/transaction-summary.test.ts b/packages/fuel-gauge/src/transaction-summary.test.ts index 47f6132effe..3d8912f30a8 100644 --- a/packages/fuel-gauge/src/transaction-summary.test.ts +++ b/packages/fuel-gauge/src/transaction-summary.test.ts @@ -588,8 +588,7 @@ describe('TransactionSummary', () => { using launched = await launchTestNode({ contractsConfigs: [ { - deployer: MultiTokenContractFactory, - bytecode: MultiTokenContractAbiHex, + factory: MultiTokenContractFactory, }, ], walletsConfig: { From bd0de7e013d168c0683d0a05ac5b51b076e1ea03 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Wed, 31 Jul 2024 22:13:23 -0300 Subject: [PATCH 49/95] Incresing timeout limits for test --- packages/create-fuels/test/cli.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/create-fuels/test/cli.test.ts b/packages/create-fuels/test/cli.test.ts index defd7e96228..b70f6233e03 100644 --- a/packages/create-fuels/test/cli.test.ts +++ b/packages/create-fuels/test/cli.test.ts @@ -19,7 +19,7 @@ import { filterOriginalTemplateFiles, getAllFiles } from './utils/templateFiles' /** * @group node */ -describe('CLI', () => { +describe('CLI', { timeout: 15_000 }, () => { const { error } = mockLogger(); let paths: ProjectPaths; From 4c6b75d5dd91ddd5c0804dfd329834ff43b7be59 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Wed, 31 Jul 2024 22:14:50 -0300 Subject: [PATCH 50/95] Fixing outdated API usages --- packages/fuel-gauge/src/call-test-contract.test.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/fuel-gauge/src/call-test-contract.test.ts b/packages/fuel-gauge/src/call-test-contract.test.ts index dbc94253933..7378835cc77 100644 --- a/packages/fuel-gauge/src/call-test-contract.test.ts +++ b/packages/fuel-gauge/src/call-test-contract.test.ts @@ -3,12 +3,11 @@ import { BN, bn, toHex } from 'fuels'; import { ASSET_A } from 'fuels/test-utils'; import { CallTestContractFactory } from '../test/typegen/contracts'; -import { bytecode } from '../test/typegen/contracts/AdvancedLoggingOtherContractFactory'; import { launchTestContract } from './utils'; function setupContract() { - return launchTestContract({ factory: CallTestContractFactory, bytecode }); + return launchTestContract({ factory: CallTestContractFactory }); } const U64_MAX = bn(2).pow(64).sub(1); From 1d0506b5bdf89958d5f0ce8e657902abe1a397ff Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Thu, 1 Aug 2024 07:32:17 -0300 Subject: [PATCH 51/95] Removing residual old template --- .../test/fixtures/templates/contract/dts.hbs | 141 ------------------ 1 file changed, 141 deletions(-) delete mode 100644 packages/abi-typegen/test/fixtures/templates/contract/dts.hbs diff --git a/packages/abi-typegen/test/fixtures/templates/contract/dts.hbs b/packages/abi-typegen/test/fixtures/templates/contract/dts.hbs deleted file mode 100644 index 84f478f076b..00000000000 --- a/packages/abi-typegen/test/fixtures/templates/contract/dts.hbs +++ /dev/null @@ -1,141 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ - -/* tslint:disable */ -/* eslint-disable */ - -/* - Fuels version: 11.11.11 - Forc version: 22.22.22 - Fuel-Core version: 33.33.33 -*/ - -import type { - BigNumberish, - BN, - Bytes, - BytesLike, - Contract, - DecodedValue, - EvmAddress, - FunctionFragment, - Interface, - InvokeFunction, - RawSlice, - StdString, - StrSlice, -} from 'fuels'; - -import type { Option, Enum, Vec, Result } from "./common"; - -export type EnumWithVectorInput = Enum<{ num: BigNumberish, vec: Vec }>; -export type EnumWithVectorOutput = Enum<{ num: number, vec: Vec }>; -export enum ExternalEnumInput { A = 'A', B = 'B' }; -export enum ExternalEnumOutput { A = 'A', B = 'B' }; -export type GenericEnumInput = Enum<{ a: T1, b: T2 }>; -export type GenericEnumOutput = GenericEnumInput; -export type IdentityInput = Enum<{ Address: AddressInput, ContractId: ContractIdInput }>; -export type IdentityOutput = Enum<{ Address: AddressOutput, ContractId: ContractIdOutput }>; -export enum MyEnumInput { Checked = 'Checked', Pending = 'Pending' }; -export enum MyEnumOutput { Checked = 'Checked', Pending = 'Pending' }; - -export type AddressInput = { bits: string }; -export type AddressOutput = AddressInput; -export type AssetIdInput = { bits: string }; -export type AssetIdOutput = AssetIdInput; -export type ContractIdInput = { bits: string }; -export type ContractIdOutput = ContractIdInput; -export type ExternalStructInput = { value: BigNumberish }; -export type ExternalStructOutput = { value: BN }; -export type GenericStructWithEnumInput = { a: T1, b: GenericEnumInput }; -export type GenericStructWithEnumOutput = { a: T1, b: GenericEnumOutput }; -export type MyStructInput = { x: BigNumberish, y: BigNumberish, state: MyEnumInput }; -export type MyStructOutput = { x: number, y: number, state: MyEnumOutput }; -export type StructWithMultiOptionInput = { multiple: [Option, Option, Option, Option, Option] }; -export type StructWithMultiOptionOutput = { multiple: [Option, Option, Option, Option, Option] }; - -export interface MyContractAbiInterface extends Interface { - functions: { - type_address: FunctionFragment; - type_contract_id: FunctionFragment; - type_external_enum: FunctionFragment; - type_external_struct: FunctionFragment; - type_identity: FunctionFragment; - types_array: FunctionFragment; - types_asset_id: FunctionFragment; - types_b256: FunctionFragment; - types_b512: FunctionFragment; - types_bool: FunctionFragment; - types_bytes: FunctionFragment; - types_empty: FunctionFragment; - types_empty_then_value: FunctionFragment; - types_enum: FunctionFragment; - types_enum_with_vector: FunctionFragment; - types_evm_address: FunctionFragment; - types_generic_enum: FunctionFragment; - types_generic_struct: FunctionFragment; - types_option: FunctionFragment; - types_option_geo: FunctionFragment; - types_raw_slice: FunctionFragment; - types_result: FunctionFragment; - types_std_string: FunctionFragment; - types_str: FunctionFragment; - types_str_slice: FunctionFragment; - types_struct: FunctionFragment; - types_tuple: FunctionFragment; - types_u16: FunctionFragment; - types_u256: FunctionFragment; - types_u32: FunctionFragment; - types_u64: FunctionFragment; - types_u8: FunctionFragment; - types_value_then_empty: FunctionFragment; - types_value_then_empty_then_value: FunctionFragment; - types_value_then_value_then_empty_then_empty: FunctionFragment; - types_vector_geo: FunctionFragment; - types_vector_option: FunctionFragment; - types_vector_u8: FunctionFragment; - }; -} - -export class MyContractAbi extends Contract { - interface: MyContractAbiInterface; - functions: { - type_address: InvokeFunction<[x: AddressInput], AddressOutput>; - type_contract_id: InvokeFunction<[x: ContractIdInput], ContractIdOutput>; - type_external_enum: InvokeFunction<[x: ExternalEnumInput], ExternalEnumOutput>; - type_external_struct: InvokeFunction<[x: ExternalStructInput], ExternalStructOutput>; - type_identity: InvokeFunction<[x: IdentityInput], IdentityOutput>; - types_array: InvokeFunction<[x: [BigNumberish, BigNumberish, BigNumberish]], [number, number, number]>; - types_asset_id: InvokeFunction<[x: AssetIdInput], AssetIdOutput>; - types_b256: InvokeFunction<[x: string], string>; - types_b512: InvokeFunction<[x: string], string>; - types_bool: InvokeFunction<[x: boolean], boolean>; - types_bytes: InvokeFunction<[x: Bytes], Bytes>; - types_empty: InvokeFunction<[x?: undefined], void>; - types_empty_then_value: InvokeFunction<[x: undefined, y: BigNumberish], void>; - types_enum: InvokeFunction<[x: MyEnumInput], MyEnumOutput>; - types_enum_with_vector: InvokeFunction<[x: EnumWithVectorInput], EnumWithVectorOutput>; - types_evm_address: InvokeFunction<[x: EvmAddress], EvmAddress>; - types_generic_enum: InvokeFunction<[x: GenericEnumInput], GenericEnumOutput>; - types_generic_struct: InvokeFunction<[x: GenericStructWithEnumInput], GenericStructWithEnumOutput>; - types_option: InvokeFunction<[x?: Option], Option>; - types_option_geo: InvokeFunction<[x?: Option], Option>; - types_raw_slice: InvokeFunction<[x: RawSlice], RawSlice>; - types_result: InvokeFunction<[x: Result], Result>; - types_std_string: InvokeFunction<[x: StdString], StdString>; - types_str: InvokeFunction<[x: string], string>; - types_str_slice: InvokeFunction<[x: StrSlice], StrSlice>; - types_struct: InvokeFunction<[x: MyStructInput], MyStructOutput>; - types_tuple: InvokeFunction<[x: [BigNumberish, BigNumberish, BigNumberish]], [number, number, number]>; - types_u16: InvokeFunction<[x: BigNumberish], number>; - types_u256: InvokeFunction<[x: BigNumberish], BN>; - types_u32: InvokeFunction<[x: BigNumberish], number>; - types_u64: InvokeFunction<[x: BigNumberish], BN>; - types_u8: InvokeFunction<[x: BigNumberish], number>; - types_value_then_empty: InvokeFunction<[x: BigNumberish, y?: undefined], void>; - types_value_then_empty_then_value: InvokeFunction<[x: BigNumberish, y: undefined, z: BigNumberish], void>; - types_value_then_value_then_empty_then_empty: InvokeFunction<[x: BigNumberish, y: BigNumberish, z?: undefined, a?: undefined], void>; - types_vector_geo: InvokeFunction<[x: Vec], Vec>; - types_vector_option: InvokeFunction<[x: Vec], Vec>; - types_vector_u8: InvokeFunction<[x: Vec], Vec>; - }; -} From 281a81c85a936dee5a8636e00e860bc9bc1a399b Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Thu, 1 Aug 2024 07:32:28 -0300 Subject: [PATCH 52/95] Removing unused variable --- packages/abi-typegen/src/templates/contract/main.ts | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/packages/abi-typegen/src/templates/contract/main.ts b/packages/abi-typegen/src/templates/contract/main.ts index bef39f7dd4a..a84792afaf4 100644 --- a/packages/abi-typegen/src/templates/contract/main.ts +++ b/packages/abi-typegen/src/templates/contract/main.ts @@ -7,15 +7,8 @@ import { formatStructs } from '../utils/formatStructs'; import mainTemplate from './main.hbs'; export function renderMainTemplate(params: { abi: Abi }) { - const { - camelizedName, - capitalizedName, - types, - functions, - commonTypesInUse, - configurables, - hexlifiedBinContents, - } = params.abi; + const { camelizedName, capitalizedName, types, functions, commonTypesInUse, configurables } = + params.abi; /* First we format all attributes From 144d2bac296c37976554e4ad18341d80f4d3eeac Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Thu, 1 Aug 2024 07:39:29 -0300 Subject: [PATCH 53/95] Increase timeout tolerance for heavy test --- packages/fuel-gauge/src/coverage-contract.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/fuel-gauge/src/coverage-contract.test.ts b/packages/fuel-gauge/src/coverage-contract.test.ts index f9adbd76985..310e3c7ac08 100644 --- a/packages/fuel-gauge/src/coverage-contract.test.ts +++ b/packages/fuel-gauge/src/coverage-contract.test.ts @@ -41,7 +41,7 @@ function setupContract() { * @group node * @group browser */ -describe('Coverage Contract', () => { +describe('Coverage Contract', { timeout: 15_000 }, () => { it('can return outputs', async () => { using contractInstance = await setupContract(); From bef0f2b90909646c0edd59e6712e3d44e7134f56 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Thu, 1 Aug 2024 07:57:11 -0300 Subject: [PATCH 54/95] Adjusting import paths --- packages/abi-typegen/src/templates/predicate/main.hbs | 2 +- packages/abi-typegen/src/templates/script/main.hbs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/abi-typegen/src/templates/predicate/main.hbs b/packages/abi-typegen/src/templates/predicate/main.hbs index 981547605d5..9c76bed6938 100644 --- a/packages/abi-typegen/src/templates/predicate/main.hbs +++ b/packages/abi-typegen/src/templates/predicate/main.hbs @@ -9,7 +9,7 @@ import { {{/if}} {{#if commonTypesInUse}} -import type { {{commonTypesInUse}} } from "../common"; +import type { {{commonTypesInUse}} } from "./common"; {{/if}} diff --git a/packages/abi-typegen/src/templates/script/main.hbs b/packages/abi-typegen/src/templates/script/main.hbs index 69b46872a14..afcc912bef2 100644 --- a/packages/abi-typegen/src/templates/script/main.hbs +++ b/packages/abi-typegen/src/templates/script/main.hbs @@ -9,7 +9,7 @@ import { {{/if}} {{#if commonTypesInUse}} -import type { {{commonTypesInUse}} } from "../common"; +import type { {{commonTypesInUse}} } from "./common"; {{/if}} From f7ba1ec12e0ef200ccfd9cdb719df6a981e8eadc Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Thu, 1 Aug 2024 08:13:32 -0300 Subject: [PATCH 55/95] Removing obsolete file --- .../contract-with-configurable/dts.hbs | 44 ------------------- 1 file changed, 44 deletions(-) delete mode 100644 packages/abi-typegen/test/fixtures/templates/contract-with-configurable/dts.hbs diff --git a/packages/abi-typegen/test/fixtures/templates/contract-with-configurable/dts.hbs b/packages/abi-typegen/test/fixtures/templates/contract-with-configurable/dts.hbs deleted file mode 100644 index 5c573997805..00000000000 --- a/packages/abi-typegen/test/fixtures/templates/contract-with-configurable/dts.hbs +++ /dev/null @@ -1,44 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ - -/* tslint:disable */ -/* eslint-disable */ - -/* - Fuels version: 11.11.11 - Forc version: 22.22.22 - Fuel-Core version: 33.33.33 -*/ - -import type { - BigNumberish, - BytesLike, - Contract, - DecodedValue, - FunctionFragment, - Interface, - InvokeFunction, -} from 'fuels'; - -import type { Option } from "./common"; - -export type GenericStructInput = { p1: T1, p2: T2 }; -export type GenericStructOutput = GenericStructInput; - -export type MyContractAbiConfigurables = Partial<{ - SHOULD_RETURN: boolean; - AN_OPTION: Option; - A_GENERIC_STRUCT: GenericStructInput, BigNumberish>; -}>; - -export interface MyContractAbiInterface extends Interface { - functions: { - main: FunctionFragment; - }; -} - -export class MyContractAbi extends Contract { - interface: MyContractAbiInterface; - functions: { - main: InvokeFunction<[x: string, y: string], boolean>; - }; -} From e6ba52fc8010f72dda7358519c9ba1a376baafdc Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Thu, 1 Aug 2024 08:13:43 -0300 Subject: [PATCH 56/95] Adjusting import paths in fixtures --- packages/abi-typegen/test/fixtures/templates/predicate/main.hbs | 2 +- packages/abi-typegen/test/fixtures/templates/script/main.hbs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/abi-typegen/test/fixtures/templates/predicate/main.hbs b/packages/abi-typegen/test/fixtures/templates/predicate/main.hbs index dbf05fa84cd..0a3ed482faa 100644 --- a/packages/abi-typegen/test/fixtures/templates/predicate/main.hbs +++ b/packages/abi-typegen/test/fixtures/templates/predicate/main.hbs @@ -15,7 +15,7 @@ import { Provider, } from 'fuels'; -import type { Option, Enum, Vec, Result } from "../common"; +import type { Option, Enum, Vec, Result } from "./common"; export type MyGenericEnumInput = Enum<{ a: T }>; export type MyGenericEnumOutput = MyGenericEnumInput; diff --git a/packages/abi-typegen/test/fixtures/templates/script/main.hbs b/packages/abi-typegen/test/fixtures/templates/script/main.hbs index 3fad33bda88..5f649688d7f 100644 --- a/packages/abi-typegen/test/fixtures/templates/script/main.hbs +++ b/packages/abi-typegen/test/fixtures/templates/script/main.hbs @@ -14,7 +14,7 @@ import { Script, } from 'fuels'; -import type { Option, Enum, Vec, Result } from "../common"; +import type { Option, Enum, Vec, Result } from "./common"; export type MyGenericEnumInput = Enum<{ a: T }>; export type MyGenericEnumOutput = MyGenericEnumInput; From 398e4a9250ef1d6a3520d64143ce64c656654f81 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Thu, 1 Aug 2024 08:43:19 -0300 Subject: [PATCH 57/95] Update packages/abi-typegen/src/templates/common/common.hbs Co-authored-by: Peter Smith --- packages/abi-typegen/src/templates/common/common.hbs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/abi-typegen/src/templates/common/common.hbs b/packages/abi-typegen/src/templates/common/common.hbs index 45090e0eed3..376025ab9be 100644 --- a/packages/abi-typegen/src/templates/common/common.hbs +++ b/packages/abi-typegen/src/templates/common/common.hbs @@ -20,4 +20,4 @@ export type Vec = T[]; * Mimics Sway Result enum type. * Ok represents the success case, while Err represents the error case. */ - export type Result = Enum<{Ok: T, Err: E}>; +export type Result = Enum<{Ok: T, Err: E}>; From 77a64a66a9493e3e2aafc0fc47322dad9ae2a9c4 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Thu, 1 Aug 2024 08:43:51 -0300 Subject: [PATCH 58/95] Update apps/docs-snippets/src/guide/create-fuels/decrement_counter.test.ts Co-authored-by: Peter Smith --- .../src/guide/create-fuels/decrement_counter.test.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/docs-snippets/src/guide/create-fuels/decrement_counter.test.ts b/apps/docs-snippets/src/guide/create-fuels/decrement_counter.test.ts index 578b2367db7..91ea1e89c3c 100644 --- a/apps/docs-snippets/src/guide/create-fuels/decrement_counter.test.ts +++ b/apps/docs-snippets/src/guide/create-fuels/decrement_counter.test.ts @@ -10,7 +10,6 @@ import { CounterFactory } from '../../../test/typegen'; describe('Counter Contract', () => { // #region decrement-counter // #context import { CounterAbi } from './sway-programs-api'; - // #context test('calls the decrement_counter function', async () => { // First, we'll launch a test node, passing the contract factory and bytecode. This will deploy the contract From 841268f94c68132a5f79cd3629765c80d783add6 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Thu, 1 Aug 2024 08:47:28 -0300 Subject: [PATCH 59/95] Update packages/fuel-gauge/src/auth-testing.test.ts Co-authored-by: Peter Smith --- packages/fuel-gauge/src/auth-testing.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/fuel-gauge/src/auth-testing.test.ts b/packages/fuel-gauge/src/auth-testing.test.ts index e06b721c732..98c5cd24d71 100644 --- a/packages/fuel-gauge/src/auth-testing.test.ts +++ b/packages/fuel-gauge/src/auth-testing.test.ts @@ -24,7 +24,7 @@ describe('Auth Testing', () => { it('can check_msg_sender [with correct id]', async () => { using launched = await launchTestNode({ contractsConfigs: [ - { factory: AuthTestingContractFactory, bytecode: AuthTestingContractFactory.bytecode }, + { factory: AuthTestingContractFactory }, ], }); From f95b60cca11a766d3a5dfd61824cc199afa97f38 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Thu, 1 Aug 2024 08:49:08 -0300 Subject: [PATCH 60/95] Update packages/fuel-gauge/src/configurable-contract.test.ts Co-authored-by: Peter Smith --- packages/fuel-gauge/src/configurable-contract.test.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/fuel-gauge/src/configurable-contract.test.ts b/packages/fuel-gauge/src/configurable-contract.test.ts index 999d72761e4..5cd252bd421 100644 --- a/packages/fuel-gauge/src/configurable-contract.test.ts +++ b/packages/fuel-gauge/src/configurable-contract.test.ts @@ -29,7 +29,6 @@ function setupContract(configurableConstants?: { [name: string]: unknown }) { contractsConfigs: [ { factory: ConfigurableContractFactory, - options: { configurableConstants }, }, ], From 48069a47cf216a5146debc6e8d70737965c166a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nedim=20Salki=C4=87?= Date: Thu, 1 Aug 2024 13:01:40 +0200 Subject: [PATCH 61/95] chore: stop skipping decoding for vectors in `Interface.test.ts` (#2873) --- .changeset/small-lamps-study.md | 4 ++++ packages/abi-coder/test/Interface.test.ts | 17 +++++------------ 2 files changed, 9 insertions(+), 12 deletions(-) create mode 100644 .changeset/small-lamps-study.md diff --git a/.changeset/small-lamps-study.md b/.changeset/small-lamps-study.md new file mode 100644 index 00000000000..765a7d18410 --- /dev/null +++ b/.changeset/small-lamps-study.md @@ -0,0 +1,4 @@ +--- +--- + +chore: stop skipping decoding for vectors in `Interface.test.ts` diff --git a/packages/abi-coder/test/Interface.test.ts b/packages/abi-coder/test/Interface.test.ts index 3d27d49a9f8..b50ed8c23c3 100644 --- a/packages/abi-coder/test/Interface.test.ts +++ b/packages/abi-coder/test/Interface.test.ts @@ -423,7 +423,6 @@ describe('Abi interface', () => { encodedValue: Uint8Array.from([0, 0, 0, 0, 0, 0, 0, 4, U8_MAX, 0, U8_MAX, U8_MAX]), }, { - skipDecoding: true, fn: exhaustiveExamplesInterface.functions.arg_then_vector_u8, title: '[vector] some arg then u8 vector', value: [{ a: true, b: U32_MAX }, [U8_MAX, 0, U8_MAX, U8_MAX]], @@ -434,7 +433,6 @@ describe('Abi interface', () => { ], }, { - skipDecoding: true, fn: exhaustiveExamplesInterface.functions.vector_u8_then_arg, title: '[vector] Vector u8 and then b256', value: [[U8_MAX, 0, U8_MAX, U8_MAX], B256_DECODED], @@ -444,7 +442,6 @@ describe('Abi interface', () => { ], }, { - skipDecoding: true, fn: exhaustiveExamplesInterface.functions.two_u8_vectors, title: '[vector] two u8 vectors', value: [ @@ -457,10 +454,13 @@ describe('Abi interface', () => { ], }, { - skipDecoding: true, fn: exhaustiveExamplesInterface.functions.u32_then_three_vectors_u64, title: '[vector] arg u32 and then three vectors u64', value: [33, [450, 202, 340], [12, 13, 14], [11, 9]], + decodedTransformer: (decoded: Array) => + decoded.map((v) => + Array.isArray(v) ? v.map((bignumber: BN) => bignumber.toNumber()) : v + ), encodedValue: [ Uint8Array.from([0, 0, 0, 33]), Uint8Array.from([ @@ -477,7 +477,6 @@ describe('Abi interface', () => { ], }, { - skipDecoding: true, fn: exhaustiveExamplesInterface.functions.vector_inside_vector, title: '[vector] vector inside vector [with offset]', value: [ @@ -535,7 +534,6 @@ describe('Abi interface', () => { offset: 40, }, { - skipDecoding: true, fn: exhaustiveExamplesInterface.functions.vector_inside_enum, title: '[vector] vector inside enum', value: [ @@ -555,7 +553,6 @@ describe('Abi interface', () => { offset: 0, }, { - skipDecoding: true, fn: exhaustiveExamplesInterface.functions.vector_inside_struct, title: '[vector] vector inside struct [with offset]', value: [ @@ -579,7 +576,7 @@ describe('Abi interface', () => { }, ])( '$title: $value', - ({ fn, title: _title, value, encodedValue, decodedTransformer, offset, skipDecoding }) => { + ({ fn, title: _title, value, encodedValue, decodedTransformer, offset }) => { const encoded = Array.isArray(value) ? fn.encodeArguments(value) : fn.encodeArguments([value]); @@ -591,10 +588,6 @@ describe('Abi interface', () => { expect(encoded).toEqual(expectedEncoded); - if (skipDecoding) { - return; - } - let decoded = fn.decodeOutput(expectedEncoded)[0]; if (decodedTransformer) { From e37471df8248ba01dfd36d2c8b1a0d1d2d311f1b Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Thu, 1 Aug 2024 10:52:06 -0300 Subject: [PATCH 62/95] Disabling some more harmless rules --- packages/abi-typegen/src/templates/common/_header.hbs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/abi-typegen/src/templates/common/_header.hbs b/packages/abi-typegen/src/templates/common/_header.hbs index 17d498c0e25..b0624c1d9f4 100644 --- a/packages/abi-typegen/src/templates/common/_header.hbs +++ b/packages/abi-typegen/src/templates/common/_header.hbs @@ -1,4 +1,7 @@ /* eslint-disable max-classes-per-file */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/consistent-type-imports */ + /* Autogenerated file. Do not edit manually. */ /* From 21b979f14c634d5421fc78b12b4e5b8f7b699fad Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Thu, 1 Aug 2024 11:25:54 -0300 Subject: [PATCH 63/95] Adding option to auto-update fixtures --- packages/abi-typegen/package.json | 1 + .../src/templates/contract/factory.test.ts | 10 ++++++++- .../src/templates/contract/main.test.ts | 22 +++++++++++++++++-- .../src/templates/predicate/main.test.ts | 16 ++++++++++++-- .../src/templates/script/main.test.ts | 16 ++++++++++++-- .../abi-typegen/test/utils/updateFixture.ts | 11 ++++++++++ 6 files changed, 69 insertions(+), 7 deletions(-) create mode 100644 packages/abi-typegen/test/utils/updateFixture.ts diff --git a/packages/abi-typegen/package.json b/packages/abi-typegen/package.json index 6e284dac5d8..10106ee8f9c 100644 --- a/packages/abi-typegen/package.json +++ b/packages/abi-typegen/package.json @@ -45,6 +45,7 @@ "scripts": { "pretest": "run-s build:forc-callpaths build:forc", "test": "cd ../.. && pnpm run test:filter packages/abi-typegen", + "test:update-fixtures": "UPDATE_FIXTURES=yes pnpm run test", "build": "tsup", "build:forc": "pnpm fuels-forc build -p test/fixtures/forc-projects --release", "build:forc-callpaths": "pnpm fuels-forc build -p test/fixtures/forc-projects --json-abi-with-callpaths", diff --git a/packages/abi-typegen/src/templates/contract/factory.test.ts b/packages/abi-typegen/src/templates/contract/factory.test.ts index 6769ed89644..18384a62f71 100644 --- a/packages/abi-typegen/src/templates/contract/factory.test.ts +++ b/packages/abi-typegen/src/templates/contract/factory.test.ts @@ -1,9 +1,12 @@ +import { join } from 'path'; + import { AbiTypegenProjectsEnum, getTypegenForcProject, } from '../../../test/fixtures/forc-projects/index'; import factoryTemplate from '../../../test/fixtures/templates/contract/factory.hbs'; import { mockVersions } from '../../../test/utils/mockVersions'; +import { autoUpdateFixture } from '../../../test/utils/updateFixture'; import { Abi } from '../../abi/Abi'; import { ProgramTypeEnum } from '../../types/enums/ProgramTypeEnum'; @@ -30,7 +33,12 @@ describe('templates/factory', () => { programType: ProgramTypeEnum.CONTRACT, }); - const rendered = renderFactoryTemplate({ abi }); + let rendered = renderFactoryTemplate({ abi }); + + rendered = autoUpdateFixture( + join(__dirname, '../../../test/fixtures/templates/contract/factory.hbs'), + rendered + ); // validating restore(); diff --git a/packages/abi-typegen/src/templates/contract/main.test.ts b/packages/abi-typegen/src/templates/contract/main.test.ts index d12ff6f1c0c..ef3dc35ce76 100644 --- a/packages/abi-typegen/src/templates/contract/main.test.ts +++ b/packages/abi-typegen/src/templates/contract/main.test.ts @@ -1,3 +1,5 @@ +import { join } from 'path'; + import { AbiTypegenProjectsEnum, getTypegenForcProject, @@ -5,6 +7,7 @@ import { import expectedMainFullTemplate from '../../../test/fixtures/templates/contract/main.hbs'; import expectedMainMinimalConfigurableTemplate from '../../../test/fixtures/templates/contract-with-configurable/main.hbs'; import { mockVersions } from '../../../test/utils/mockVersions'; +import { autoUpdateFixture } from '../../../test/utils/updateFixture'; import { Abi } from '../../abi/Abi'; import { ProgramTypeEnum } from '../../types/enums/ProgramTypeEnum'; @@ -29,7 +32,13 @@ describe('templates/dts', () => { programType: ProgramTypeEnum.CONTRACT, }); - const rendered = renderMainTemplate({ abi }); + let rendered = renderMainTemplate({ abi }); + + rendered = autoUpdateFixture( + join(__dirname, '../../../test/fixtures/templates/contract/main.hbs'), + rendered + ); + // validating restore(); @@ -50,7 +59,12 @@ describe('templates/dts', () => { programType: ProgramTypeEnum.CONTRACT, }); - const rendered = renderMainTemplate({ abi }); + let rendered = renderMainTemplate({ abi }); + + rendered = autoUpdateFixture( + join(__dirname, '../../../test/fixtures/templates/contract-with-configurable/main.hbs'), + rendered + ); restore(); @@ -69,6 +83,7 @@ describe('templates/dts', () => { }); const rendered = renderMainTemplate({ abi }); + expect(rendered).toMatch(/^import type.+from ".\/common";$/m); }); @@ -84,6 +99,7 @@ describe('templates/dts', () => { }); const rendered = renderMainTemplate({ abi }); + expect(rendered).toMatch(/export type StructBOutput = StructBInput;$/m); }); @@ -99,6 +115,7 @@ describe('templates/dts', () => { }); const rendered = renderMainTemplate({ abi }); + expect(rendered).toMatch(/export type MyEnumOutput = MyEnumInput;$/m); }); @@ -114,6 +131,7 @@ describe('templates/dts', () => { }); const rendered = renderMainTemplate({ abi }); + expect(rendered).toMatch( /export enum MyEnumOutput { Checked = 'Checked', Pending = 'Pending' };$/m ); diff --git a/packages/abi-typegen/src/templates/predicate/main.test.ts b/packages/abi-typegen/src/templates/predicate/main.test.ts index 128f86ba43e..144502ba509 100644 --- a/packages/abi-typegen/src/templates/predicate/main.test.ts +++ b/packages/abi-typegen/src/templates/predicate/main.test.ts @@ -1,4 +1,5 @@ import { safeExec } from '@fuel-ts/errors/test-utils'; +import { join } from 'path'; import { AbiTypegenProjectsEnum, @@ -7,6 +8,7 @@ import { import mainTemplate from '../../../test/fixtures/templates/predicate/main.hbs'; import mainWithConfigurablesTemplate from '../../../test/fixtures/templates/predicate-with-configurable/main.hbs'; import { mockVersions } from '../../../test/utils/mockVersions'; +import { autoUpdateFixture } from '../../../test/utils/updateFixture'; import { Abi } from '../../abi/Abi'; import { ProgramTypeEnum } from '../../types/enums/ProgramTypeEnum'; @@ -31,7 +33,12 @@ describe('main.ts', () => { programType: ProgramTypeEnum.PREDICATE, }); - const rendered = renderMainTemplate({ abi }); + let rendered = renderMainTemplate({ abi }); + + rendered = autoUpdateFixture( + join(__dirname, '../../../test/fixtures/templates/predicate/main.hbs'), + rendered + ); restore(); @@ -53,7 +60,12 @@ describe('main.ts', () => { programType: ProgramTypeEnum.PREDICATE, }); - const rendered = renderMainTemplate({ abi }); + let rendered = renderMainTemplate({ abi }); + + rendered = autoUpdateFixture( + join(__dirname, '../../../test/fixtures/templates/predicate-with-configurable/main.hbs'), + rendered + ); restore(); diff --git a/packages/abi-typegen/src/templates/script/main.test.ts b/packages/abi-typegen/src/templates/script/main.test.ts index 3a165e3d660..1f6d0311f69 100644 --- a/packages/abi-typegen/src/templates/script/main.test.ts +++ b/packages/abi-typegen/src/templates/script/main.test.ts @@ -1,4 +1,5 @@ import { safeExec } from '@fuel-ts/errors/test-utils'; +import { join } from 'path'; import { AbiTypegenProjectsEnum, @@ -7,6 +8,7 @@ import { import mainTemplate from '../../../test/fixtures/templates/script/main.hbs'; import mainTemplateWithConfigurables from '../../../test/fixtures/templates/script-with-configurable/main.hbs'; import { mockVersions } from '../../../test/utils/mockVersions'; +import { autoUpdateFixture } from '../../../test/utils/updateFixture'; import { Abi } from '../../abi/Abi'; import { ProgramTypeEnum } from '../../types/enums/ProgramTypeEnum'; @@ -30,7 +32,12 @@ describe('main.ts', () => { programType: ProgramTypeEnum.SCRIPT, }); - const rendered = renderMainTemplate({ abi }); + let rendered = renderMainTemplate({ abi }); + + rendered = autoUpdateFixture( + join(__dirname, '../../../test/fixtures/templates/script/main.hbs'), + rendered + ); restore(); @@ -51,7 +58,12 @@ describe('main.ts', () => { programType: ProgramTypeEnum.SCRIPT, }); - const rendered = renderMainTemplate({ abi }); + let rendered = renderMainTemplate({ abi }); + + rendered = autoUpdateFixture( + join(__dirname, '../../../test/fixtures/templates/script-with-configurable/main.hbs'), + rendered + ); restore(); diff --git a/packages/abi-typegen/test/utils/updateFixture.ts b/packages/abi-typegen/test/utils/updateFixture.ts new file mode 100644 index 00000000000..34b2d367419 --- /dev/null +++ b/packages/abi-typegen/test/utils/updateFixture.ts @@ -0,0 +1,11 @@ +import { writeFileSync } from 'fs'; + +export function autoUpdateFixture(path: string, contents: string) { + if (process.env.UPDATE_FIXTURES) { + if (!/fixtures/.test(path)) { + throw new Error(`This path may no be a fixture: ${path}`); + } + writeFileSync(path, contents); + } + return contents; +} From edecad6e2da6a51e31df3ee1d3a273301d5f048b Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Thu, 1 Aug 2024 11:26:26 -0300 Subject: [PATCH 64/95] Omitting configurables conditionally in Predicate templates --- .../abi-typegen/src/templates/predicate/main.hbs | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/abi-typegen/src/templates/predicate/main.hbs b/packages/abi-typegen/src/templates/predicate/main.hbs index 9c76bed6938..4eca79eb50e 100644 --- a/packages/abi-typegen/src/templates/predicate/main.hbs +++ b/packages/abi-typegen/src/templates/predicate/main.hbs @@ -40,11 +40,15 @@ export type {{structName}}Output{{typeAnnotations}} = { {{outputValues}} }; {{/if}} {{/each}} +{{#if configurables}} export type {{capitalizedName}}Configurables = Partial<{ -{{#each configurables}} - {{name}}: {{inputLabel}}; -{{/each}} + {{#each configurables}} + {{name}}: {{inputLabel}}; + {{/each}} }>; +{{else}} +export type {{capitalizedName}}Configurables = undefined; +{{/if}} export type {{capitalizedName}}Inputs = [{{inputs}}]; @@ -57,13 +61,13 @@ export class {{capitalizedName}} extends Predicate<{{capitalizedName}}Inputs> { static readonly abi = abi; static readonly bytecode = bytecode; - constructor(provider: Provider, predicateData?: {{capitalizedName}}Inputs, configurables?: {{capitalizedName}}Configurables) { + constructor(provider: Provider, predicateData?: {{capitalizedName}}Inputs{{#if configurables}}, configurables?: {{capitalizedName}}Configurables{{/if}}) { super({ abi, bytecode, provider, inputData: predicateData, - configurableConstants: configurables, + {{#if configurables}}configurableConstants: configurables,{{/if}} }); } } From 2210e68cabbb3024690cecf2f5e2e8b723b2d163 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Thu, 1 Aug 2024 11:26:42 -0300 Subject: [PATCH 65/95] Nits --- packages/abi-typegen/test/utils/updateFixture.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/abi-typegen/test/utils/updateFixture.ts b/packages/abi-typegen/test/utils/updateFixture.ts index 34b2d367419..6d88438ca8c 100644 --- a/packages/abi-typegen/test/utils/updateFixture.ts +++ b/packages/abi-typegen/test/utils/updateFixture.ts @@ -1,10 +1,12 @@ import { writeFileSync } from 'fs'; export function autoUpdateFixture(path: string, contents: string) { - if (process.env.UPDATE_FIXTURES) { + if (process.env.UPDATE_FIXTURES === 'yes') { if (!/fixtures/.test(path)) { throw new Error(`This path may no be a fixture: ${path}`); } + const { log } = console; + log('Updated fixture', path); writeFileSync(path, contents); } return contents; From 184b975cfa5d6c102025869942c0365c423db3d2 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Thu, 1 Aug 2024 11:26:59 -0300 Subject: [PATCH 66/95] Updating typege test fixtures --- .../templates/contract-with-configurable/main.hbs | 3 +++ .../test/fixtures/templates/contract/factory.hbs | 3 +++ .../test/fixtures/templates/contract/main.hbs | 3 +++ .../templates/predicate-with-configurable/main.hbs | 7 +++++-- .../test/fixtures/templates/predicate/main.hbs | 10 ++++++---- .../templates/script-with-configurable/main.hbs | 3 +++ .../test/fixtures/templates/script/main.hbs | 3 +++ 7 files changed, 26 insertions(+), 6 deletions(-) diff --git a/packages/abi-typegen/test/fixtures/templates/contract-with-configurable/main.hbs b/packages/abi-typegen/test/fixtures/templates/contract-with-configurable/main.hbs index cede76f19dd..5d8a4a8ac21 100644 --- a/packages/abi-typegen/test/fixtures/templates/contract-with-configurable/main.hbs +++ b/packages/abi-typegen/test/fixtures/templates/contract-with-configurable/main.hbs @@ -1,4 +1,7 @@ /* eslint-disable max-classes-per-file */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/consistent-type-imports */ + /* Autogenerated file. Do not edit manually. */ /* diff --git a/packages/abi-typegen/test/fixtures/templates/contract/factory.hbs b/packages/abi-typegen/test/fixtures/templates/contract/factory.hbs index a0d906afa9c..77853c48757 100644 --- a/packages/abi-typegen/test/fixtures/templates/contract/factory.hbs +++ b/packages/abi-typegen/test/fixtures/templates/contract/factory.hbs @@ -1,4 +1,7 @@ /* eslint-disable max-classes-per-file */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/consistent-type-imports */ + /* Autogenerated file. Do not edit manually. */ /* diff --git a/packages/abi-typegen/test/fixtures/templates/contract/main.hbs b/packages/abi-typegen/test/fixtures/templates/contract/main.hbs index dc39625bbac..4ab5f93d9d8 100644 --- a/packages/abi-typegen/test/fixtures/templates/contract/main.hbs +++ b/packages/abi-typegen/test/fixtures/templates/contract/main.hbs @@ -1,4 +1,7 @@ /* eslint-disable max-classes-per-file */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/consistent-type-imports */ + /* Autogenerated file. Do not edit manually. */ /* diff --git a/packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/main.hbs b/packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/main.hbs index 709d45a7911..ffa82ee334d 100644 --- a/packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/main.hbs +++ b/packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/main.hbs @@ -1,4 +1,7 @@ /* eslint-disable max-classes-per-file */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/consistent-type-imports */ + /* Autogenerated file. Do not edit manually. */ /* @@ -15,8 +18,8 @@ import { } from 'fuels'; export type MyPredicateConfigurables = Partial<{ - FEE: BigNumberish; - ADDRESS: string; + FEE: BigNumberish; + ADDRESS: string; }>; export type MyPredicateInputs = [fee: BigNumberish, address: string]; diff --git a/packages/abi-typegen/test/fixtures/templates/predicate/main.hbs b/packages/abi-typegen/test/fixtures/templates/predicate/main.hbs index 0a3ed482faa..3f7f1eecd53 100644 --- a/packages/abi-typegen/test/fixtures/templates/predicate/main.hbs +++ b/packages/abi-typegen/test/fixtures/templates/predicate/main.hbs @@ -1,4 +1,7 @@ /* eslint-disable max-classes-per-file */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/consistent-type-imports */ + /* Autogenerated file. Do not edit manually. */ /* @@ -25,8 +28,7 @@ export type MyGenericStructOutput = MyGenericStructInput; export type ValidationInput = { has_account: boolean, total_complete: BigNumberish }; export type ValidationOutput = { has_account: boolean, total_complete: BN }; -export type MyPredicateConfigurables = Partial<{ -}>; +export type MyPredicateConfigurables = undefined; export type MyPredicateInputs = [vec: Vec, enm: MyGenericEnumInput, opt: Option, res: Result, BigNumberish>]; @@ -296,13 +298,13 @@ export class MyPredicate extends Predicate { static readonly abi = abi; static readonly bytecode = bytecode; - constructor(provider: Provider, predicateData?: MyPredicateInputs, configurables?: MyPredicateConfigurables) { + constructor(provider: Provider, predicateData?: MyPredicateInputs) { super({ abi, bytecode, provider, inputData: predicateData, - configurableConstants: configurables, + }); } } diff --git a/packages/abi-typegen/test/fixtures/templates/script-with-configurable/main.hbs b/packages/abi-typegen/test/fixtures/templates/script-with-configurable/main.hbs index 79f9b4e0683..16be5721155 100644 --- a/packages/abi-typegen/test/fixtures/templates/script-with-configurable/main.hbs +++ b/packages/abi-typegen/test/fixtures/templates/script-with-configurable/main.hbs @@ -1,4 +1,7 @@ /* eslint-disable max-classes-per-file */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/consistent-type-imports */ + /* Autogenerated file. Do not edit manually. */ /* diff --git a/packages/abi-typegen/test/fixtures/templates/script/main.hbs b/packages/abi-typegen/test/fixtures/templates/script/main.hbs index 5f649688d7f..3b663b820ec 100644 --- a/packages/abi-typegen/test/fixtures/templates/script/main.hbs +++ b/packages/abi-typegen/test/fixtures/templates/script/main.hbs @@ -1,4 +1,7 @@ /* eslint-disable max-classes-per-file */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/consistent-type-imports */ + /* Autogenerated file. Do not edit manually. */ /* From eaac82d3eabc4823728ea7bea5d61f471ea882dc Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Thu, 1 Aug 2024 11:32:58 -0300 Subject: [PATCH 67/95] Fine-tuning template conditional and related fixture --- packages/abi-typegen/src/templates/predicate/main.hbs | 4 ++-- .../abi-typegen/test/fixtures/templates/predicate/main.hbs | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/abi-typegen/src/templates/predicate/main.hbs b/packages/abi-typegen/src/templates/predicate/main.hbs index 4eca79eb50e..b16aa62fde0 100644 --- a/packages/abi-typegen/src/templates/predicate/main.hbs +++ b/packages/abi-typegen/src/templates/predicate/main.hbs @@ -66,8 +66,8 @@ export class {{capitalizedName}} extends Predicate<{{capitalizedName}}Inputs> { abi, bytecode, provider, - inputData: predicateData, - {{#if configurables}}configurableConstants: configurables,{{/if}} + inputData: predicateData,{{#if configurables}} + configurableConstants: configurables,{{/if}} }); } } diff --git a/packages/abi-typegen/test/fixtures/templates/predicate/main.hbs b/packages/abi-typegen/test/fixtures/templates/predicate/main.hbs index 3f7f1eecd53..862239437cb 100644 --- a/packages/abi-typegen/test/fixtures/templates/predicate/main.hbs +++ b/packages/abi-typegen/test/fixtures/templates/predicate/main.hbs @@ -304,7 +304,6 @@ export class MyPredicate extends Predicate { bytecode, provider, inputData: predicateData, - }); } } From 80413bcca178f74cf673891a2be3532de44d5d2f Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Thu, 1 Aug 2024 11:47:25 -0300 Subject: [PATCH 68/95] Resolving class names collisions --- packages/fuel-gauge/test/fixtures/forc-projects/Forc.toml | 6 +++--- .../forc-projects/{bytes => bytes-contract}/Forc.toml | 2 +- .../forc-projects/{bytes => bytes-contract}/src/main.sw | 0 .../{raw-slice => raw-slice-contract}/Forc.toml | 2 +- .../{raw-slice => raw-slice-contract}/src/main.sw | 0 .../{str-slice => str-slice-contract}/Forc.toml | 2 +- .../{str-slice => str-slice-contract}/src/main.sw | 0 7 files changed, 6 insertions(+), 6 deletions(-) rename packages/fuel-gauge/test/fixtures/forc-projects/{bytes => bytes-contract}/Forc.toml (75%) rename packages/fuel-gauge/test/fixtures/forc-projects/{bytes => bytes-contract}/src/main.sw (100%) rename packages/fuel-gauge/test/fixtures/forc-projects/{raw-slice => raw-slice-contract}/Forc.toml (72%) rename packages/fuel-gauge/test/fixtures/forc-projects/{raw-slice => raw-slice-contract}/src/main.sw (100%) rename packages/fuel-gauge/test/fixtures/forc-projects/{str-slice => str-slice-contract}/Forc.toml (79%) rename packages/fuel-gauge/test/fixtures/forc-projects/{str-slice => str-slice-contract}/src/main.sw (100%) diff --git a/packages/fuel-gauge/test/fixtures/forc-projects/Forc.toml b/packages/fuel-gauge/test/fixtures/forc-projects/Forc.toml index 225e7cb7614..f09ffc8a319 100644 --- a/packages/fuel-gauge/test/fixtures/forc-projects/Forc.toml +++ b/packages/fuel-gauge/test/fixtures/forc-projects/Forc.toml @@ -7,7 +7,7 @@ members = [ "auth_testing_abi", "auth_testing_contract", "bytecode-sway-lib", - "bytes", + "bytes-contract", "call-test-contract", "collision_in_fn_names", "complex-predicate", @@ -38,7 +38,7 @@ members = [ "predicate-validate-transfer", "predicate-vector-types", "predicate-with-configurable", - "raw-slice", + "raw-slice-contract", "reentrant-bar", "reentrant-foo", "reentrant-foobar-abi", @@ -61,7 +61,7 @@ members = [ "small-bytes", "std-lib-string", "storage-test-contract", - "str-slice", + "str-slice-contract", "token-abi", "token-contract", "vector-types-contract", diff --git a/packages/fuel-gauge/test/fixtures/forc-projects/bytes/Forc.toml b/packages/fuel-gauge/test/fixtures/forc-projects/bytes-contract/Forc.toml similarity index 75% rename from packages/fuel-gauge/test/fixtures/forc-projects/bytes/Forc.toml rename to packages/fuel-gauge/test/fixtures/forc-projects/bytes-contract/Forc.toml index 18c3a6a250d..525a26aeb87 100644 --- a/packages/fuel-gauge/test/fixtures/forc-projects/bytes/Forc.toml +++ b/packages/fuel-gauge/test/fixtures/forc-projects/bytes-contract/Forc.toml @@ -1,4 +1,4 @@ [project] authors = ["Fuel Labs "] license = "Apache-2.0" -name = "bytes" +name = "bytes-contract" diff --git a/packages/fuel-gauge/test/fixtures/forc-projects/bytes/src/main.sw b/packages/fuel-gauge/test/fixtures/forc-projects/bytes-contract/src/main.sw similarity index 100% rename from packages/fuel-gauge/test/fixtures/forc-projects/bytes/src/main.sw rename to packages/fuel-gauge/test/fixtures/forc-projects/bytes-contract/src/main.sw diff --git a/packages/fuel-gauge/test/fixtures/forc-projects/raw-slice/Forc.toml b/packages/fuel-gauge/test/fixtures/forc-projects/raw-slice-contract/Forc.toml similarity index 72% rename from packages/fuel-gauge/test/fixtures/forc-projects/raw-slice/Forc.toml rename to packages/fuel-gauge/test/fixtures/forc-projects/raw-slice-contract/Forc.toml index 3d48bf9913f..7229fc3a67d 100644 --- a/packages/fuel-gauge/test/fixtures/forc-projects/raw-slice/Forc.toml +++ b/packages/fuel-gauge/test/fixtures/forc-projects/raw-slice-contract/Forc.toml @@ -1,4 +1,4 @@ [project] authors = ["Fuel Labs "] license = "Apache-2.0" -name = "raw-slice" +name = "raw-slice-contract" diff --git a/packages/fuel-gauge/test/fixtures/forc-projects/raw-slice/src/main.sw b/packages/fuel-gauge/test/fixtures/forc-projects/raw-slice-contract/src/main.sw similarity index 100% rename from packages/fuel-gauge/test/fixtures/forc-projects/raw-slice/src/main.sw rename to packages/fuel-gauge/test/fixtures/forc-projects/raw-slice-contract/src/main.sw diff --git a/packages/fuel-gauge/test/fixtures/forc-projects/str-slice/Forc.toml b/packages/fuel-gauge/test/fixtures/forc-projects/str-slice-contract/Forc.toml similarity index 79% rename from packages/fuel-gauge/test/fixtures/forc-projects/str-slice/Forc.toml rename to packages/fuel-gauge/test/fixtures/forc-projects/str-slice-contract/Forc.toml index ecb9c187b30..c34a71d6509 100644 --- a/packages/fuel-gauge/test/fixtures/forc-projects/str-slice/Forc.toml +++ b/packages/fuel-gauge/test/fixtures/forc-projects/str-slice-contract/Forc.toml @@ -2,6 +2,6 @@ authors = ["Fuel Labs "] entry = "main.sw" license = "Apache-2.0" -name = "str-slice" +name = "str-slice-contract" [dependencies] diff --git a/packages/fuel-gauge/test/fixtures/forc-projects/str-slice/src/main.sw b/packages/fuel-gauge/test/fixtures/forc-projects/str-slice-contract/src/main.sw similarity index 100% rename from packages/fuel-gauge/test/fixtures/forc-projects/str-slice/src/main.sw rename to packages/fuel-gauge/test/fixtures/forc-projects/str-slice-contract/src/main.sw From 37fa06f20159cc37966fe1ed1137d25cd8e57fa8 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Thu, 1 Aug 2024 11:59:30 -0300 Subject: [PATCH 69/95] Adjusting class names in related tests --- packages/fuel-gauge/src/bytes.test.ts | 12 ++++++------ packages/fuel-gauge/src/raw-slice.test.ts | 4 ++-- packages/fuel-gauge/src/str-slice.test.ts | 4 ++-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/fuel-gauge/src/bytes.test.ts b/packages/fuel-gauge/src/bytes.test.ts index 0899e11ffc7..b92079e813d 100644 --- a/packages/fuel-gauge/src/bytes.test.ts +++ b/packages/fuel-gauge/src/bytes.test.ts @@ -2,7 +2,7 @@ import { bn, Wallet, Address } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; import { PredicateBytes, ScriptBytes } from '../test/typegen'; -import { BytesFactory } from '../test/typegen/contracts'; +import { BytesContractFactory } from '../test/typegen/contracts'; import { launchTestContract } from './utils'; @@ -13,7 +13,7 @@ import { launchTestContract } from './utils'; describe('Bytes Tests', () => { it('should test bytes output', async () => { using contractInstance = await launchTestContract({ - factory: BytesFactory, + factory: BytesContractFactory, }); const { waitForResult } = await contractInstance.functions.return_bytes(10).call(); @@ -24,7 +24,7 @@ describe('Bytes Tests', () => { it('should test bytes output [100 items]', async () => { using contractInstance = await launchTestContract({ - factory: BytesFactory, + factory: BytesContractFactory, }); const { waitForResult } = await contractInstance.functions.return_bytes(100).call(); @@ -35,7 +35,7 @@ describe('Bytes Tests', () => { it('should test bytes input', async () => { using contractInstance = await launchTestContract({ - factory: BytesFactory, + factory: BytesContractFactory, }); const INPUT = [40, 41, 42]; @@ -48,7 +48,7 @@ describe('Bytes Tests', () => { it('should test bytes input [nested]', async () => { using contractInstance = await launchTestContract({ - factory: BytesFactory, + factory: BytesContractFactory, }); const bytes = [40, 41, 42]; @@ -68,7 +68,7 @@ describe('Bytes Tests', () => { using launched = await launchTestNode({ contractsConfigs: [ { - factory: BytesFactory, + factory: BytesContractFactory, }, ], }); diff --git a/packages/fuel-gauge/src/raw-slice.test.ts b/packages/fuel-gauge/src/raw-slice.test.ts index 3515755df6b..219538e6560 100644 --- a/packages/fuel-gauge/src/raw-slice.test.ts +++ b/packages/fuel-gauge/src/raw-slice.test.ts @@ -3,7 +3,7 @@ import type { BN } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; import { ScriptRawSlice } from '../test/typegen'; -import { RawSliceFactory } from '../test/typegen/contracts'; +import { RawSliceContractFactory } from '../test/typegen/contracts'; import { PredicateRawSlice } from '../test/typegen/predicates'; import { launchTestContract } from './utils'; @@ -20,7 +20,7 @@ type Wrapper = { function setupRawSliceContract() { return launchTestContract({ - factory: RawSliceFactory, + factory: RawSliceContractFactory, }); } /** diff --git a/packages/fuel-gauge/src/str-slice.test.ts b/packages/fuel-gauge/src/str-slice.test.ts index d8ea8fb2acc..877e3144ec6 100644 --- a/packages/fuel-gauge/src/str-slice.test.ts +++ b/packages/fuel-gauge/src/str-slice.test.ts @@ -1,7 +1,7 @@ import { bn } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { StrSliceFactory, ScriptStrSlice } from '../test/typegen'; +import { StrSliceContractFactory, ScriptStrSlice } from '../test/typegen'; import { PredicateStrSlice, type PredicateStrSliceInputs, @@ -14,7 +14,7 @@ import { describe('str slice', () => { it('echoes a str slice [CONTRACT]', async () => { using launched = await launchTestNode({ - contractsConfigs: [{ factory: StrSliceFactory }], + contractsConfigs: [{ factory: StrSliceContractFactory }], }); const { From 47d1093dd897a6d75cdc22302d79773bc2f15945 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Thu, 1 Aug 2024 12:01:22 -0300 Subject: [PATCH 70/95] Prettier format --- packages/fuel-gauge/src/auth-testing.test.ts | 4 +--- packages/fuel-gauge/src/policies.test.ts | 6 +++++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/fuel-gauge/src/auth-testing.test.ts b/packages/fuel-gauge/src/auth-testing.test.ts index 98c5cd24d71..4b783a047b1 100644 --- a/packages/fuel-gauge/src/auth-testing.test.ts +++ b/packages/fuel-gauge/src/auth-testing.test.ts @@ -23,9 +23,7 @@ describe('Auth Testing', () => { it('can check_msg_sender [with correct id]', async () => { using launched = await launchTestNode({ - contractsConfigs: [ - { factory: AuthTestingContractFactory }, - ], + contractsConfigs: [{ factory: AuthTestingContractFactory }], }); const { diff --git a/packages/fuel-gauge/src/policies.test.ts b/packages/fuel-gauge/src/policies.test.ts index 284944ec5c0..671de264f08 100644 --- a/packages/fuel-gauge/src/policies.test.ts +++ b/packages/fuel-gauge/src/policies.test.ts @@ -440,7 +440,11 @@ describe('Policies', () => { const maxFee = 1; - const factory = new ContractFactory(PayableAnnotationFactory.bytecode, PayableAnnotation.abi, wallet); + const factory = new ContractFactory( + PayableAnnotationFactory.bytecode, + PayableAnnotation.abi, + wallet + ); const txParams: CustomTxParams = { witnessLimit: 800, From 140889805e8c6366f2c740d04f81d1c4ce3ee96a Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Thu, 1 Aug 2024 12:48:04 -0300 Subject: [PATCH 71/95] Removing outdated comments --- packages/abi-typegen/src/templates/contract/main.ts | 4 ---- 1 file changed, 4 deletions(-) diff --git a/packages/abi-typegen/src/templates/contract/main.ts b/packages/abi-typegen/src/templates/contract/main.ts index a84792afaf4..e09239e9da7 100644 --- a/packages/abi-typegen/src/templates/contract/main.ts +++ b/packages/abi-typegen/src/templates/contract/main.ts @@ -31,11 +31,7 @@ export function renderMainTemplate(params: { abi: Abi }) { const { imports } = formatImports({ types, baseMembers: [ - // 'Interface', 'FunctionFragment', - // 'DecodedValue', - // 'Contract', - // 'BytesLike', 'InvokeFunction', ], }); From 4035ce2ccd218e18d6894b1ea695ab87e1b48ace Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Thu, 1 Aug 2024 13:17:28 -0300 Subject: [PATCH 72/95] Lintfix --- packages/abi-typegen/src/templates/contract/main.ts | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/packages/abi-typegen/src/templates/contract/main.ts b/packages/abi-typegen/src/templates/contract/main.ts index e09239e9da7..8c9d90b05a6 100644 --- a/packages/abi-typegen/src/templates/contract/main.ts +++ b/packages/abi-typegen/src/templates/contract/main.ts @@ -30,10 +30,7 @@ export function renderMainTemplate(params: { abi: Abi }) { const { structs } = formatStructs({ types }); const { imports } = formatImports({ types, - baseMembers: [ - 'FunctionFragment', - 'InvokeFunction', - ], + baseMembers: ['FunctionFragment', 'InvokeFunction'], }); const { rawContents, storageSlotsContents } = params.abi; From fb9c5098330b91190e835d38a37ec08dece4754e Mon Sep 17 00:00:00 2001 From: Peter Smith Date: Thu, 1 Aug 2024 19:26:04 +0100 Subject: [PATCH 73/95] chore!: alter predicate signature (#2876) * chore: renamed Predicate `inputData` to `data` * fix: bad find and replace for `inputData` * chore: implemented the `PredicateParams` into typegen * chore: passing through generic configurables to predicate * chore: missed some changes * chore: fix min-gas test * chore: moved `provider` to Predicate params * chore: made predicate configurables undefined * chore: pass optional parameters --- .../src/app/predicate/page.tsx | 17 +++++-- apps/demo-typegen/src/demo.test.ts | 5 +- .../cookbook/signing-transactions.test.ts | 2 +- .../interacting-with-predicates.test.ts | 2 +- .../predicate-with-configurable.test.ts | 4 +- ...nd-and-spend-funds-from-predicates.test.ts | 12 ++--- .../transactions/transaction-request.test.ts | 4 +- .../src/templates/predicate/main.hbs | 15 ++++-- .../src/templates/predicate/main.ts | 2 +- .../predicate-with-configurable/main.hbs | 16 +++++-- .../fixtures/templates/predicate/main.hbs | 15 ++++-- packages/account/src/predicate/predicate.ts | 26 ++++++---- .../account/test/predicate-functions.test.ts | 4 +- packages/fuel-gauge/src/bytes.test.ts | 15 +++--- packages/fuel-gauge/src/doc-examples.test.ts | 5 +- packages/fuel-gauge/src/fee.test.ts | 2 +- packages/fuel-gauge/src/min-gas.test.ts | 10 +++- .../src/predicate-conditional-inputs.test.ts | 14 ++++-- .../src/predicate/predicate-arguments.test.ts | 47 ++++++++++--------- .../predicate/predicate-configurables.test.ts | 22 ++++----- .../predicate/predicate-estimations.test.ts | 8 ++-- .../predicate/predicate-evaluations.test.ts | 4 +- .../src/predicate/predicate-general.test.ts | 2 +- .../predicate/predicate-input-data.test.ts | 2 +- .../predicate-populate-witness.test.ts | 18 +++---- .../predicate/predicate-with-contract.test.ts | 17 ++++--- .../predicate/predicate-with-script.test.ts | 2 +- packages/fuel-gauge/src/raw-slice.test.ts | 2 +- .../fuel-gauge/src/std-lib-string.test.ts | 2 +- packages/fuel-gauge/src/str-slice.test.ts | 5 +- packages/fuel-gauge/src/vector-types.test.ts | 2 +- templates/nextjs/src/app/predicate/page.tsx | 11 +++-- templates/nextjs/test/predicate.test.ts | 5 +- 33 files changed, 195 insertions(+), 124 deletions(-) diff --git a/apps/create-fuels-counter-guide/src/app/predicate/page.tsx b/apps/create-fuels-counter-guide/src/app/predicate/page.tsx index bc77f0d1e9b..abd952028f2 100644 --- a/apps/create-fuels-counter-guide/src/app/predicate/page.tsx +++ b/apps/create-fuels-counter-guide/src/app/predicate/page.tsx @@ -28,7 +28,9 @@ export default function PredicateExample() { if (wallet) { baseAssetId = wallet.provider.getBaseAssetId(); // Initialize a new predicate instance - const predicate = new TestPredicate(wallet.provider); + const predicate = new TestPredicate({ + provider: wallet.provider + }); setPredicate(predicate); setPredicateBalance(await predicate.getBalance()); } @@ -74,7 +76,10 @@ export default function PredicateExample() { } // Initialize a new predicate instance with the entered pin - const reInitializePredicate = new TestPredicate(wallet.provider, [bn(pin)]); + const reInitializePredicate = new TestPredicate({ + provider: wallet.provider, + data: [bn(pin)], + }); if (!reInitializePredicate) { return toast.error("Failed to initialize predicate"); @@ -128,9 +133,13 @@ export default function PredicateExample() { return toast.error("Please enter a pin"); } - const configurable = { PIN: bn(pin) }; + const configurableConstants = { PIN: bn(pin) }; // instantiate predicate with configurable constants - const reInitializePredicate = new TestPredicate(wallet.provider, [bn(configurable.PIN)], configurable); + const reInitializePredicate = new TestPredicate({ + provider: wallet.provider, + data: [configurableConstants.PIN], + configurableConstants, + }); if (!reInitializePredicate) { return toast.error("Failed to initialize predicate"); diff --git a/apps/demo-typegen/src/demo.test.ts b/apps/demo-typegen/src/demo.test.ts index ee97d6f90bb..238b415c6e3 100644 --- a/apps/demo-typegen/src/demo.test.ts +++ b/apps/demo-typegen/src/demo.test.ts @@ -161,7 +161,10 @@ test('Example predicate', async () => { const receiver = Wallet.fromAddress(Address.fromRandom(), provider); const predicateData: DemoPredicateInputs = []; - const predicate = new DemoPredicate(provider, predicateData); + const predicate = new DemoPredicate({ + provider, + data: predicateData, + }); const tx = await wallet.transfer(predicate.address, 200_000, provider.getBaseAssetId()); const { isStatusSuccess } = await tx.wait(); diff --git a/apps/docs-snippets/src/guide/cookbook/signing-transactions.test.ts b/apps/docs-snippets/src/guide/cookbook/signing-transactions.test.ts index 24855ad5bfc..2ac5c05ce0a 100644 --- a/apps/docs-snippets/src/guide/cookbook/signing-transactions.test.ts +++ b/apps/docs-snippets/src/guide/cookbook/signing-transactions.test.ts @@ -80,7 +80,7 @@ describe('Signing transactions', () => { bytecode, abi, provider, - inputData: [signer.address.toB256()], + data: [signer.address.toB256()], }); const tx1 = await sender.transfer(predicate.address, 200_000, baseAssetId); await tx1.waitForResult(); diff --git a/apps/docs-snippets/src/guide/predicates/interacting-with-predicates.test.ts b/apps/docs-snippets/src/guide/predicates/interacting-with-predicates.test.ts index 2763751ffe5..b2f21ff6e1a 100644 --- a/apps/docs-snippets/src/guide/predicates/interacting-with-predicates.test.ts +++ b/apps/docs-snippets/src/guide/predicates/interacting-with-predicates.test.ts @@ -33,7 +33,7 @@ describe(__filename, () => { bytecode: bin, provider: wallet.provider, abi, - inputData: [inputAddress], + data: [inputAddress], }); await seedTestWallet(predicate, [[100_000_000, baseAssetId]]); }); diff --git a/apps/docs-snippets/src/guide/predicates/predicate-with-configurable.test.ts b/apps/docs-snippets/src/guide/predicates/predicate-with-configurable.test.ts index 2877984756b..dafed870f9a 100644 --- a/apps/docs-snippets/src/guide/predicates/predicate-with-configurable.test.ts +++ b/apps/docs-snippets/src/guide/predicates/predicate-with-configurable.test.ts @@ -33,7 +33,7 @@ describe(__filename, () => { bytecode: bin, provider: wallet.provider, abi, - inputData: [configurable.WHITELISTED], + data: [configurable.WHITELISTED], configurableConstants: configurable, }); @@ -69,7 +69,7 @@ describe(__filename, () => { bytecode: bin, provider: wallet.provider, abi, - inputData: ['0xa703b26833939dabc41d3fcaefa00e62cee8e1ac46db37e0fa5d4c9fe30b4132'], + data: ['0xa703b26833939dabc41d3fcaefa00e62cee8e1ac46db37e0fa5d4c9fe30b4132'], }); // transferring funds to the predicate diff --git a/apps/docs-snippets/src/guide/predicates/send-and-spend-funds-from-predicates.test.ts b/apps/docs-snippets/src/guide/predicates/send-and-spend-funds-from-predicates.test.ts index 0e67075a220..5593704856e 100644 --- a/apps/docs-snippets/src/guide/predicates/send-and-spend-funds-from-predicates.test.ts +++ b/apps/docs-snippets/src/guide/predicates/send-and-spend-funds-from-predicates.test.ts @@ -26,7 +26,7 @@ describe(__filename, () => { bytecode: bin, provider, abi, - inputData: [inputAddress], + data: [inputAddress], }); baseAssetId = provider.getBaseAssetId(); await seedTestWallet(predicate, [[500_000, baseAssetId]]); @@ -39,7 +39,7 @@ describe(__filename, () => { bytecode: bin, provider, abi, - inputData: [inputAddress], + data: [inputAddress], }); // #endregion send-and-spend-funds-from-predicates-2 @@ -83,7 +83,7 @@ describe(__filename, () => { bytecode: bin, provider, abi, - inputData: ['0xfc05c23a8f7f66222377170ddcbfea9c543dff0dd2d2ba4d0478a4521423a9d4'], + data: ['0xfc05c23a8f7f66222377170ddcbfea9c543dff0dd2d2ba4d0478a4521423a9d4'], }); const amountToPredicate = 100; @@ -117,7 +117,7 @@ describe(__filename, () => { bytecode: bin, abi, provider: predicateOwner.provider, - inputData: [getRandomB256()], + data: [getRandomB256()], }); const amountToPredicate = 10000; @@ -151,7 +151,7 @@ describe(__filename, () => { bytecode: bin, abi, provider, - inputData: [inputAddress], + data: [inputAddress], }); const amountToPredicate = 10_000; @@ -201,7 +201,7 @@ describe(__filename, () => { bytecode: bin, abi, provider, - inputData: [inputAddress], + data: [inputAddress], }); const amountToPredicate = 300_000; diff --git a/apps/docs-snippets/src/guide/transactions/transaction-request.test.ts b/apps/docs-snippets/src/guide/transactions/transaction-request.test.ts index 993e45cda49..3057cb18d76 100644 --- a/apps/docs-snippets/src/guide/transactions/transaction-request.test.ts +++ b/apps/docs-snippets/src/guide/transactions/transaction-request.test.ts @@ -58,7 +58,7 @@ describe('Transaction Request', () => { const predicate = new Predicate({ bytecode: predicateBytecode, abi: predicateAbi, - inputData: [ZeroBytes32], + data: [ZeroBytes32], provider, }); @@ -168,7 +168,7 @@ describe('Transaction Request', () => { const predicate = new Predicate({ bytecode: predicateBytecode, abi: predicateAbi, - inputData: dataToValidatePredicate, + data: dataToValidatePredicate, provider, }); diff --git a/packages/abi-typegen/src/templates/predicate/main.hbs b/packages/abi-typegen/src/templates/predicate/main.hbs index b16aa62fde0..9255ab8e247 100644 --- a/packages/abi-typegen/src/templates/predicate/main.hbs +++ b/packages/abi-typegen/src/templates/predicate/main.hbs @@ -52,22 +52,27 @@ export type {{capitalizedName}}Configurables = undefined; export type {{capitalizedName}}Inputs = [{{inputs}}]; +export type {{capitalizedName}}Parameters = Pick< + PredicateParams<{{capitalizedName}}Inputs, {{capitalizedName}}Configurables>, + 'provider' | 'data' | 'configurableConstants' +>; + const abi = {{abiJsonString}}; const bytecode = '{{hexlifiedBinString}}'; -export class {{capitalizedName}} extends Predicate<{{capitalizedName}}Inputs> { +export class {{capitalizedName}} extends Predicate<{{capitalizedName}}Inputs, {{capitalizedName}}Configurables> { static readonly abi = abi; static readonly bytecode = bytecode; - constructor(provider: Provider, predicateData?: {{capitalizedName}}Inputs{{#if configurables}}, configurables?: {{capitalizedName}}Configurables{{/if}}) { + constructor(params: {{capitalizedName}}Parameters) { super({ abi, bytecode, - provider, - inputData: predicateData,{{#if configurables}} - configurableConstants: configurables,{{/if}} + provider: params.provider, + data: params.data, + configurableConstants: params.configurableConstants, }); } } diff --git a/packages/abi-typegen/src/templates/predicate/main.ts b/packages/abi-typegen/src/templates/predicate/main.ts index b8a578a4a43..bfe4f0bd05d 100644 --- a/packages/abi-typegen/src/templates/predicate/main.ts +++ b/packages/abi-typegen/src/templates/predicate/main.ts @@ -32,7 +32,7 @@ export function renderMainTemplate(params: { abi: Abi }) { const { structs } = formatStructs({ types }); const { imports } = formatImports({ types, - baseMembers: ['Predicate', 'Provider', 'InputValue'], + baseMembers: ['Predicate', 'Provider', 'InputValue', 'PredicateParams'], }); const { prefixedInputs: inputs, output } = func.attributes; diff --git a/packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/main.hbs b/packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/main.hbs index ffa82ee334d..7872aa9f449 100644 --- a/packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/main.hbs +++ b/packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/main.hbs @@ -14,6 +14,7 @@ import { BigNumberish, InputValue, Predicate, + PredicateParams, Provider, } from 'fuels'; @@ -24,6 +25,11 @@ export type MyPredicateConfigurables = Partial<{ export type MyPredicateInputs = [fee: BigNumberish, address: string]; +export type MyPredicateParameters = Pick< + PredicateParams, + 'provider' | 'data' | 'configurableConstants' +>; + const abi = { "encoding": "1", "types": [ @@ -95,18 +101,18 @@ const abi = { const bytecode = '0x000'; -export class MyPredicate extends Predicate { +export class MyPredicate extends Predicate { static readonly abi = abi; static readonly bytecode = bytecode; - constructor(provider: Provider, predicateData?: MyPredicateInputs, configurables?: MyPredicateConfigurables) { + constructor(params: MyPredicateParameters) { super({ abi, bytecode, - provider, - inputData: predicateData, - configurableConstants: configurables, + provider: params.provider, + data: params.data, + configurableConstants: params.configurableConstants, }); } } diff --git a/packages/abi-typegen/test/fixtures/templates/predicate/main.hbs b/packages/abi-typegen/test/fixtures/templates/predicate/main.hbs index 862239437cb..b965144e06e 100644 --- a/packages/abi-typegen/test/fixtures/templates/predicate/main.hbs +++ b/packages/abi-typegen/test/fixtures/templates/predicate/main.hbs @@ -15,6 +15,7 @@ import { BN, InputValue, Predicate, + PredicateParams, Provider, } from 'fuels'; @@ -32,6 +33,11 @@ export type MyPredicateConfigurables = undefined; export type MyPredicateInputs = [vec: Vec, enm: MyGenericEnumInput, opt: Option, res: Result, BigNumberish>]; +export type MyPredicateParameters = Pick< + PredicateParams, + 'provider' | 'data' | 'configurableConstants' +>; + const abi = { "encoding": "1", "types": [ @@ -293,17 +299,18 @@ const abi = { const bytecode = '0x000'; -export class MyPredicate extends Predicate { +export class MyPredicate extends Predicate { static readonly abi = abi; static readonly bytecode = bytecode; - constructor(provider: Provider, predicateData?: MyPredicateInputs) { + constructor(params: MyPredicateParameters) { super({ abi, bytecode, - provider, - inputData: predicateData, + provider: params.provider, + data: params.data, + configurableConstants: params.configurableConstants, }); } } diff --git a/packages/account/src/predicate/predicate.ts b/packages/account/src/predicate/predicate.ts index 8c5a390ae40..d00a869b565 100644 --- a/packages/account/src/predicate/predicate.ts +++ b/packages/account/src/predicate/predicate.ts @@ -25,20 +25,26 @@ import type { import { getPredicateRoot } from './utils'; -export type PredicateParams = { +export type PredicateParams< + TData extends InputValue[] = InputValue[], + TConfigurables extends { [name: string]: unknown } | undefined = { [name: string]: unknown }, +> = { bytecode: BytesLike; provider: Provider; abi?: JsonAbi; - inputData?: T; - configurableConstants?: { [name: string]: unknown }; + data?: TData; + configurableConstants?: TConfigurables; }; /** * `Predicate` provides methods to populate transaction data with predicate information and sending transactions with them. */ -export class Predicate extends Account { +export class Predicate< + TData extends InputValue[] = InputValue[], + TConfigurables extends { [name: string]: unknown } | undefined = { [name: string]: unknown }, +> extends Account { bytes: Uint8Array; - predicateData: TInputData = [] as unknown as TInputData; + predicateData: TData = [] as unknown as TData; interface?: Interface; /** @@ -47,16 +53,16 @@ export class Predicate extends Account { * @param bytecode - The bytecode of the predicate. * @param abi - The JSON ABI of the predicate. * @param provider - The provider used to interact with the blockchain. - * @param inputData - The predicate input data (optional). + * @param data - The predicate input data (optional). * @param configurableConstants - Optional configurable constants for the predicate. */ constructor({ bytecode, abi, provider, - inputData, + data, configurableConstants, - }: PredicateParams) { + }: PredicateParams) { const { predicateBytes, predicateInterface } = Predicate.processPredicateData( bytecode, abi, @@ -67,8 +73,8 @@ export class Predicate extends Account { this.bytes = predicateBytes; this.interface = predicateInterface; - if (inputData !== undefined && inputData.length > 0) { - this.predicateData = inputData; + if (data !== undefined && data.length > 0) { + this.predicateData = data; } } diff --git a/packages/account/test/predicate-functions.test.ts b/packages/account/test/predicate-functions.test.ts index 476af2cfa4d..92e8967c98d 100644 --- a/packages/account/test/predicate-functions.test.ts +++ b/packages/account/test/predicate-functions.test.ts @@ -32,7 +32,7 @@ describe('Predicate', () => { bytecode: predicateBytecode, abi: predicateAbi, provider, - inputData: [b256], + data: [b256], }); expect(predicate.predicateData).not.toBeUndefined(); @@ -55,7 +55,7 @@ describe('Predicate', () => { bytecode: predicateBytecode, abi: abiWithNoMain, provider, - inputData: ['NADA'], + data: ['NADA'], configurableConstants: { value: 1 }, }); }).toThrow('Cannot use ABI without "main" function'); diff --git a/packages/fuel-gauge/src/bytes.test.ts b/packages/fuel-gauge/src/bytes.test.ts index b92079e813d..d544f7c89c3 100644 --- a/packages/fuel-gauge/src/bytes.test.ts +++ b/packages/fuel-gauge/src/bytes.test.ts @@ -83,12 +83,15 @@ describe('Bytes Tests', () => { const bytes = [40, 41, 42]; - const predicate = new PredicateBytes(wallet.provider, [ - { - inner: [bytes, bytes], - inner_enum: { Second: bytes }, - }, - ]); + const predicate = new PredicateBytes({ + provider: wallet.provider, + data: [ + { + inner: [bytes, bytes], + inner_enum: { Second: bytes }, + }, + ], + }); // setup predicate const setupTx = await wallet.transfer( diff --git a/packages/fuel-gauge/src/doc-examples.test.ts b/packages/fuel-gauge/src/doc-examples.test.ts index d0f0fac28ff..e7939647691 100644 --- a/packages/fuel-gauge/src/doc-examples.test.ts +++ b/packages/fuel-gauge/src/doc-examples.test.ts @@ -296,7 +296,10 @@ describe('Doc Examples', () => { const signature1 = await wallet1.signMessage(dataToSign); const signature2 = await wallet2.signMessage(dataToSign); const signature3 = await wallet3.signMessage(dataToSign); - const predicate = new PredicateTripleSig(provider, [[signature1, signature2, signature3]]); + const predicate = new PredicateTripleSig({ + provider, + data: [[signature1, signature2, signature3]], + }); const amountToPredicate = 600_000; const amountToReceiver = 100; diff --git a/packages/fuel-gauge/src/fee.test.ts b/packages/fuel-gauge/src/fee.test.ts index 715a5d2a68d..df63d5bbe7f 100644 --- a/packages/fuel-gauge/src/fee.test.ts +++ b/packages/fuel-gauge/src/fee.test.ts @@ -310,7 +310,7 @@ describe('Fee', () => { wallets: [wallet], } = launched; - const predicate = new PredicateU32(provider, [1078]); + const predicate = new PredicateU32({ provider, data: [1078] }); const tx1 = await wallet.transfer(predicate.address, 1_000_000, provider.getBaseAssetId()); await tx1.wait(); diff --git a/packages/fuel-gauge/src/min-gas.test.ts b/packages/fuel-gauge/src/min-gas.test.ts index ae61d50d37c..a7b16f05cf0 100644 --- a/packages/fuel-gauge/src/min-gas.test.ts +++ b/packages/fuel-gauge/src/min-gas.test.ts @@ -117,7 +117,10 @@ describe('Minimum gas tests', () => { /** * Setup predicate */ - const predicate = new ComplexPredicate(provider, [bn(1000)]); + const predicate = new ComplexPredicate({ + provider, + data: [bn(1000)], + }); /** * Fund the predicate @@ -165,7 +168,10 @@ describe('Minimum gas tests', () => { /** * Setup predicate */ - const predicate = new ComplexPredicate(provider, [bn(1000)]); + const predicate = new ComplexPredicate({ + provider, + data: [bn(1000)], + }); /** * Fund the predicate diff --git a/packages/fuel-gauge/src/predicate-conditional-inputs.test.ts b/packages/fuel-gauge/src/predicate-conditional-inputs.test.ts index 78a7ca9c311..795bc417174 100644 --- a/packages/fuel-gauge/src/predicate-conditional-inputs.test.ts +++ b/packages/fuel-gauge/src/predicate-conditional-inputs.test.ts @@ -22,8 +22,11 @@ describe('PredicateConditionalInputs', () => { const amountToTransfer = 1000; - const predicate = new PredicateConditionalInputs(provider, undefined, { - MAKER: aliceWallet.address.toB256(), + const predicate = new PredicateConditionalInputs({ + provider, + configurableConstants: { + MAKER: aliceWallet.address.toB256(), + }, }); // transfer asset A to predicate so it can transfer to alice @@ -96,8 +99,11 @@ describe('PredicateConditionalInputs', () => { const amountToTransfer = 1000; - const predicate = new PredicateConditionalInputs(provider, undefined, { - MAKER: aliceWallet.address.toB256(), + const predicate = new PredicateConditionalInputs({ + provider, + configurableConstants: { + MAKER: aliceWallet.address.toB256(), + }, }); // transfer asset A to predicate so it can transfer to alice diff --git a/packages/fuel-gauge/src/predicate/predicate-arguments.test.ts b/packages/fuel-gauge/src/predicate/predicate-arguments.test.ts index 1b536d38d58..91c797f8945 100644 --- a/packages/fuel-gauge/src/predicate/predicate-arguments.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-arguments.test.ts @@ -28,9 +28,10 @@ describe('Predicate', () => { wallets: [fundingWallet], } = launched; - const predicate = new PredicateAddress(provider, [ - '0xef86afa9696cf0dc6385e2c407a6e159a1103cefb7e2ae0636fb33d3cb2a9e4a', - ]); + const predicate = new PredicateAddress({ + provider, + data: ['0xef86afa9696cf0dc6385e2c407a6e159a1103cefb7e2ae0636fb33d3cb2a9e4a'], + }); // transfer funds to predicate await fundPredicate(fundingWallet, predicate, amountToPredicate, 3); @@ -60,9 +61,10 @@ describe('Predicate', () => { wallets: [fundingWallet], } = launched; - const predicate = new PredicateAddress(provider, [ - '0xbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbada', - ]); + const predicate = new PredicateAddress({ + provider, + data: ['0xbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbadbada'], + }); // fund predicate await fundPredicate(fundingWallet, predicate, amountToPredicate); @@ -82,7 +84,7 @@ describe('Predicate', () => { wallets: [fundingWallet], } = launched; - const predicate = new PredicateU32(provider, [1078]); + const predicate = new PredicateU32({ provider, data: [1078] }); const receiver = Wallet.generate({ provider }); @@ -113,7 +115,7 @@ describe('Predicate', () => { wallets: [fundingWallet], } = launched; - const predicate = new PredicateU32(provider, [100]); + const predicate = new PredicateU32({ provider, data: [100] }); // fund predicate await fundPredicate(fundingWallet, predicate, 90_000_00, 3); @@ -138,9 +140,10 @@ describe('Predicate', () => { wallets: [fundingWallet], } = launched; - const predicateInstanceForBalance = new PredicateMainArgsStruct(provider, [ - { has_account: true, total_complete: 100 }, - ]); + const predicateInstanceForBalance = new PredicateMainArgsStruct({ + provider, + data: [{ has_account: true, total_complete: 100 }], + }); const receiver = Wallet.generate({ provider }); const initialReceiverBalance = await receiver.getBalance(); @@ -154,9 +157,10 @@ describe('Predicate', () => { await fundTx.waitForResult(); // #region predicate-struct-arg - const predicate = new PredicateMainArgsStruct(provider, [ - { has_account: true, total_complete: 100 }, - ]); + const predicate = new PredicateMainArgsStruct({ + provider, + data: [{ has_account: true, total_complete: 100 }], + }); const tx = await predicate.transfer( receiver.address, @@ -181,9 +185,10 @@ describe('Predicate', () => { wallets: [fundingWallet], } = launched; - const predicate = new PredicateMainArgsStruct(provider, [ - { has_account: false, total_complete: 0 }, - ]); + const predicate = new PredicateMainArgsStruct({ + provider, + data: [{ has_account: false, total_complete: 0 }], + }); const receiver = Wallet.generate({ provider }); @@ -203,7 +208,7 @@ describe('Predicate', () => { wallets: [fundingWallet], } = launched; - const predicate = new PredicateMainArgsVector(provider, [[42]]); + const predicate = new PredicateMainArgsVector({ provider, data: [[42]] }); const receiver = Wallet.generate({ provider }); const initialReceiverBalance = await receiver.getBalance(); @@ -237,7 +242,7 @@ describe('Predicate', () => { const initialReceiverBalance = await receiver.getBalance(); // #region predicate-multi-args - const predicate = new PredicateMultiArgs(provider, [20, 30]); + const predicate = new PredicateMultiArgs({ provider, data: [20, 30] }); // fund the predicate await fundPredicate(fundingWallet, predicate, amountToPredicate); @@ -268,7 +273,7 @@ describe('Predicate', () => { const receiver = Wallet.generate({ provider }); const initialReceiverBalance = await receiver.getBalance(); - const predicate = new PredicateMultiArgs(provider, [20, 30]); + const predicate = new PredicateMultiArgs({ provider, data: [20, 30] }); // fund predicate await fundPredicate(fundingWallet, predicate, amountToPredicate); @@ -295,7 +300,7 @@ describe('Predicate', () => { wallets: [fundingWallet], } = launched; - const predicate = new PredicateMultiArgs(provider, [20, 20]); + const predicate = new PredicateMultiArgs({ provider, data: [20, 20] }); // fund predicate await fundPredicate(fundingWallet, predicate, amountToPredicate); diff --git a/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts b/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts index 2369fa7703b..5a680b7ca1b 100644 --- a/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts @@ -30,7 +30,7 @@ describe('Predicate', () => { abi: PredicateWithConfigurable.abi, bytecode: PredicateWithConfigurable.bytecode, provider: wallet.provider, - inputData: [defaultValues.FEE, defaultValues.ADDRESS], // set predicate input data to be the same as default configurable value + data: [defaultValues.FEE, defaultValues.ADDRESS], // set predicate input data to be the same as default configurable value }); const amountToTransfer = 200; @@ -73,7 +73,7 @@ describe('Predicate', () => { abi: PredicateWithConfigurable.abi, bytecode: PredicateWithConfigurable.bytecode, provider, - inputData: [configurableConstants.FEE, defaultValues.ADDRESS], + data: [configurableConstants.FEE, defaultValues.ADDRESS], configurableConstants, }); @@ -118,7 +118,7 @@ describe('Predicate', () => { abi: PredicateWithConfigurable.abi, bytecode: PredicateWithConfigurable.bytecode, provider, - inputData: [defaultValues.FEE, configurableConstants.ADDRESS], + data: [defaultValues.FEE, configurableConstants.ADDRESS], configurableConstants, }); @@ -167,7 +167,7 @@ describe('Predicate', () => { abi: PredicateWithConfigurable.abi, bytecode: PredicateWithConfigurable.bytecode, provider, - inputData: [configurableConstants.FEE, configurableConstants.ADDRESS], + data: [configurableConstants.FEE, configurableConstants.ADDRESS], configurableConstants, }); @@ -209,11 +209,11 @@ describe('Predicate', () => { const amountToTransfer = 300; - const predicate = new PredicateWithConfigurable( + const predicate = new PredicateWithConfigurable({ provider, - [defaultValues.FEE, configurableConstants.ADDRESS], - configurableConstants - ); + data: [defaultValues.FEE, configurableConstants.ADDRESS], + configurableConstants, + }); const destination = WalletUnlocked.generate({ provider: wallet.provider, @@ -273,7 +273,7 @@ describe('Predicate', () => { abi: PredicateTrue.abi, bytecode: PredicateTrue.bytecode, provider, - inputData: ['NADA'], + data: ['NADA'], configurableConstants: { constant: 'NADA', }, @@ -294,7 +294,7 @@ describe('Predicate', () => { abi: PredicateWithConfigurable.abi, bytecode: PredicateWithConfigurable.bytecode, provider, - inputData: ['NADA'], + data: ['NADA'], configurableConstants: { NOPE: 'NADA', }, @@ -315,7 +315,7 @@ describe('Predicate', () => { // abi: PredicateWithConfigurable.abi, bytecode: PredicateWithConfigurable.bytecode, provider, - inputData: ['NADA'], + data: ['NADA'], configurableConstants: { NOPE: 'NADA', }, diff --git a/packages/fuel-gauge/src/predicate/predicate-estimations.test.ts b/packages/fuel-gauge/src/predicate/predicate-estimations.test.ts index 96924fbb04b..f37a0d06943 100644 --- a/packages/fuel-gauge/src/predicate/predicate-estimations.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-estimations.test.ts @@ -40,7 +40,7 @@ describe('Predicate', () => { provider, } = launched; - const predicateTrue = new PredicateTrue(provider); + const predicateTrue = new PredicateTrue({ provider }); const predicateStruct = new Predicate<[Validation]>({ bytecode: PredicateMainArgsStruct.bytecode, @@ -136,7 +136,7 @@ describe('Predicate', () => { const tx = new ScriptTransactionRequest(); - const predicateTrue = new PredicateTrue(provider); + const predicateTrue = new PredicateTrue({ provider }); await fundPredicate(wallet, predicateTrue, fundingAmount); @@ -159,7 +159,7 @@ describe('Predicate', () => { provider, } = launched; - const predicateTrue = new PredicateTrue(provider); + const predicateTrue = new PredicateTrue({ provider }); const predicateStruct = new Predicate<[Validation]>({ abi: PredicateMainArgsStruct.abi, @@ -207,7 +207,7 @@ describe('Predicate', () => { abi: PredicateValidateTransfer.abi, bytecode: PredicateValidateTransfer.bytecode, provider, - inputData: [bn(amountToPredicate)], + data: [bn(amountToPredicate)], }); await fundPredicate(wallet, predicateValidateTransfer, amountToPredicate); diff --git a/packages/fuel-gauge/src/predicate/predicate-evaluations.test.ts b/packages/fuel-gauge/src/predicate/predicate-evaluations.test.ts index 78d0601ccef..eab569adbc2 100644 --- a/packages/fuel-gauge/src/predicate/predicate-evaluations.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-evaluations.test.ts @@ -22,7 +22,7 @@ describe('Predicate', () => { const receiver = Wallet.generate({ provider }); const initialReceiverBalance = await receiver.getBalance(); - const predicate = new PredicateTrue(provider); + const predicate = new PredicateTrue({ provider }); await fundPredicate(wallet, predicate, 200_000); @@ -53,7 +53,7 @@ describe('Predicate', () => { const receiver = Wallet.fromAddress(Address.fromRandom(), provider); - const predicate = new PredicateFalse(provider); + const predicate = new PredicateFalse({ provider }); await fundPredicate(wallet, predicate, 200_000); diff --git a/packages/fuel-gauge/src/predicate/predicate-general.test.ts b/packages/fuel-gauge/src/predicate/predicate-general.test.ts index 840f3655a91..ae764d1a28b 100644 --- a/packages/fuel-gauge/src/predicate/predicate-general.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-general.test.ts @@ -32,7 +32,7 @@ describe('Predicate', () => { abi: PredicateSum.abi, bytecode: PredicateSum.bytecode, provider, - inputData: [value1, value2], + data: [value1, value2], }); const fakeCoins = predicate.generateFakeResources(fakeCoinsConfig); diff --git a/packages/fuel-gauge/src/predicate/predicate-input-data.test.ts b/packages/fuel-gauge/src/predicate/predicate-input-data.test.ts index a53610c1017..6e80bc22a35 100644 --- a/packages/fuel-gauge/src/predicate/predicate-input-data.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-input-data.test.ts @@ -22,7 +22,7 @@ describe('Predicate', () => { const amountToPredicate = 200_000; const amountToReceiver = 50; - const predicate = new PredicateInputData(provider); + const predicate = new PredicateInputData({ provider }); await fundPredicate(wallet, predicate, amountToPredicate); diff --git a/packages/fuel-gauge/src/predicate/predicate-populate-witness.test.ts b/packages/fuel-gauge/src/predicate/predicate-populate-witness.test.ts index 3ff15326146..827ab20aa8d 100644 --- a/packages/fuel-gauge/src/predicate/predicate-populate-witness.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-populate-witness.test.ts @@ -43,7 +43,7 @@ describe('Predicate', () => { abi: PredicateAssertNumber.abi, bytecode: PredicateAssertNumber.bytecode, provider, - inputData: [11], + data: [11], }); await fundPredicate(wallet, predicateAssertNumber, 500_000); @@ -98,7 +98,7 @@ describe('Predicate', () => { abi: PredicateAssertNumber.abi, bytecode: PredicateAssertNumber.bytecode, provider, - inputData: [11], + data: [11], }); await fundPredicate(fundingWallet, predicateAssertNumber, 500_000); @@ -153,7 +153,7 @@ describe('Predicate', () => { abi: PredicateAssertNumber.abi, bytecode: PredicateAssertNumber.bytecode, provider, - inputData: [11], + data: [11], }); await fundPredicate(fundingWallet, predicateAssertNumber, 500_000, UTXOS_AMOUNT); @@ -231,7 +231,7 @@ describe('Predicate', () => { abi: PredicateAssertNumber.abi, bytecode: PredicateAssertNumber.bytecode, provider, - inputData: [11], + data: [11], }); await fundPredicate(fundingWallet, predicateAssertNumber, 500_000, UTXOS_AMOUNT); @@ -240,7 +240,7 @@ describe('Predicate', () => { abi: PredicateAssertValue.abi, bytecode: PredicateAssertValue.bytecode, provider, - inputData: [true], + data: [true], }); await fundPredicate(fundingWallet, predicateAssertValue, 500_000, UTXOS_AMOUNT); @@ -322,7 +322,7 @@ describe('Predicate', () => { abi: PredicateAssertNumber.abi, bytecode: PredicateAssertNumber.bytecode, provider, - inputData: [11], + data: [11], }); await fundPredicate(fundingWallet, predicateAssertNumber, 500_000, UTXOS_AMOUNT); @@ -331,7 +331,7 @@ describe('Predicate', () => { abi: PredicateAssertValue.abi, bytecode: PredicateAssertValue.bytecode, provider, - inputData: [true], + data: [true], }); await fundPredicate(fundingWallet, predicateAssertValue, 500_000, UTXOS_AMOUNT); @@ -408,7 +408,7 @@ describe('Predicate', () => { abi: PredicateAssertNumber.abi, bytecode: PredicateAssertNumber.bytecode, provider, - inputData: [11], + data: [11], }); await fundPredicate(fundingWallet, predicateAssertNumber, 500_000, UTXOS_AMOUNT); @@ -426,7 +426,7 @@ describe('Predicate', () => { abi: PredicateAssertValue.abi, bytecode: PredicateAssertValue.bytecode, provider, - inputData: [true], + data: [true], }); await fundPredicate(fundingWallet, predicateAssertValue, 500_000, UTXOS_AMOUNT); diff --git a/packages/fuel-gauge/src/predicate/predicate-with-contract.test.ts b/packages/fuel-gauge/src/predicate/predicate-with-contract.test.ts index 96bb469d1d7..8e096f2a3ba 100644 --- a/packages/fuel-gauge/src/predicate/predicate-with-contract.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-with-contract.test.ts @@ -24,7 +24,7 @@ describe('Predicate', () => { } = launched; const amountToPredicate = 300_000; - const predicate = new PredicateTrue(provider); + const predicate = new PredicateTrue({ provider }); // Create a instance of the contract with the predicate as the caller Account const contractPredicate = new Contract(contract.id, contract.interface, predicate); @@ -66,12 +66,15 @@ describe('Predicate', () => { // setup predicate const amountToPredicate = 1_000_000; const amountToReceiver = 200_000; - const predicate = new PredicateMainArgsStruct(provider, [ - { - has_account: true, - total_complete: 100, - }, - ]); + const predicate = new PredicateMainArgsStruct({ + provider, + data: [ + { + has_account: true, + total_complete: 100, + }, + ], + }); await fundPredicate(wallet, predicate, amountToPredicate); diff --git a/packages/fuel-gauge/src/predicate/predicate-with-script.test.ts b/packages/fuel-gauge/src/predicate/predicate-with-script.test.ts index 40689678e31..b2b0fd068cf 100644 --- a/packages/fuel-gauge/src/predicate/predicate-with-script.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-with-script.test.ts @@ -44,7 +44,7 @@ describe('Predicate', () => { provider, abi: PredicateMainArgsStruct.abi, bytecode: PredicateMainArgsStruct.bytecode, - inputData: [ + data: [ { has_account: true, total_complete: 100, diff --git a/packages/fuel-gauge/src/raw-slice.test.ts b/packages/fuel-gauge/src/raw-slice.test.ts index 219538e6560..0eede1c9a6d 100644 --- a/packages/fuel-gauge/src/raw-slice.test.ts +++ b/packages/fuel-gauge/src/raw-slice.test.ts @@ -94,7 +94,7 @@ describe('Raw Slice Tests', () => { abi: PredicateRawSlice.abi, bytecode: PredicateRawSlice.bytecode, provider: wallet.provider, - inputData: [INPUT], + data: [INPUT], }); // setup predicate diff --git a/packages/fuel-gauge/src/std-lib-string.test.ts b/packages/fuel-gauge/src/std-lib-string.test.ts index f64a45f849f..b6d919d7eb0 100644 --- a/packages/fuel-gauge/src/std-lib-string.test.ts +++ b/packages/fuel-gauge/src/std-lib-string.test.ts @@ -54,7 +54,7 @@ describe('std-lib-string Tests', () => { abi: PredicateStdLibString.abi, bytecode: PredicateStdLibString.bytecode, provider, - inputData: [1, 2, 'Hello World'], + data: [1, 2, 'Hello World'], }); // setup predicate diff --git a/packages/fuel-gauge/src/str-slice.test.ts b/packages/fuel-gauge/src/str-slice.test.ts index 877e3144ec6..4803da4b2cd 100644 --- a/packages/fuel-gauge/src/str-slice.test.ts +++ b/packages/fuel-gauge/src/str-slice.test.ts @@ -38,7 +38,10 @@ describe('str slice', () => { } = launched; const predicateData: PredicateStrSliceInputs = ['predicate-input']; - const predicate = new PredicateStrSlice(provider, predicateData); + const predicate = new PredicateStrSlice({ + provider, + data: predicateData, + }); const baseAssetId = provider.getBaseAssetId(); const amountToPredicate = 250_000; diff --git a/packages/fuel-gauge/src/vector-types.test.ts b/packages/fuel-gauge/src/vector-types.test.ts index 6a36c6b477b..286a951eac2 100644 --- a/packages/fuel-gauge/src/vector-types.test.ts +++ b/packages/fuel-gauge/src/vector-types.test.ts @@ -151,7 +151,7 @@ describe('Vector Types Validation', () => { provider: wallet.provider, abi: PredicateVectorTypes.abi, bytecode: PredicateVectorTypes.bytecode, - inputData: [ + data: [ U32_VEC, VEC_IN_VEC, STRUCT_IN_VEC, diff --git a/templates/nextjs/src/app/predicate/page.tsx b/templates/nextjs/src/app/predicate/page.tsx index 0b0ec7c7d35..6b716e24e8f 100644 --- a/templates/nextjs/src/app/predicate/page.tsx +++ b/templates/nextjs/src/app/predicate/page.tsx @@ -28,7 +28,9 @@ export default function PredicateExample() { if (wallet) { baseAssetId = wallet.provider.getBaseAssetId(); // Initialize a new predicate instance - const predicate = new TestPredicate(wallet.provider); + const predicate = new TestPredicate({ + provider: wallet.provider, + }); setPredicate(predicate); setPredicateBalance(await predicate.getBalance()); } @@ -77,9 +79,10 @@ export default function PredicateExample() { } // Initialize a new predicate instance with the entered pin - const reInitializePredicate = new TestPredicate(wallet.provider, [ - bn(pin), - ]); + const reInitializePredicate = new TestPredicate({ + provider: wallet.provider, + data: [bn(pin)], + }); if (!reInitializePredicate) { return toast.error("Failed to initialize predicate"); diff --git a/templates/nextjs/test/predicate.test.ts b/templates/nextjs/test/predicate.test.ts index c154fe59a03..be9f8845b20 100644 --- a/templates/nextjs/test/predicate.test.ts +++ b/templates/nextjs/test/predicate.test.ts @@ -33,7 +33,10 @@ describe('Predicate', () => { const predicateData: TestPredicateInputs = [1337]; // Now, we can instantiate our predicate. - const predicate = new TestPredicate(provider, predicateData); + const predicate = new TestPredicate({ + provider, + data: predicateData, + }); // Lets also setup some transfer values to assert against. const amountToPredicate = 250_000; From c8a440c1acd293aed83f81adbf72d827768803c4 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Fri, 2 Aug 2024 11:17:04 -0300 Subject: [PATCH 74/95] Improving pass-through API --- .../src/templates/predicate/main.hbs | 18 +++++++----------- .../predicate-with-configurable/main.hbs | 18 +++++++----------- .../test/fixtures/templates/predicate/main.hbs | 18 +++++++----------- 3 files changed, 21 insertions(+), 33 deletions(-) diff --git a/packages/abi-typegen/src/templates/predicate/main.hbs b/packages/abi-typegen/src/templates/predicate/main.hbs index 9255ab8e247..30886b91ad9 100644 --- a/packages/abi-typegen/src/templates/predicate/main.hbs +++ b/packages/abi-typegen/src/templates/predicate/main.hbs @@ -52,27 +52,23 @@ export type {{capitalizedName}}Configurables = undefined; export type {{capitalizedName}}Inputs = [{{inputs}}]; -export type {{capitalizedName}}Parameters = Pick< +export type {{capitalizedName}}Parameters = Omit< PredicateParams<{{capitalizedName}}Inputs, {{capitalizedName}}Configurables>, - 'provider' | 'data' | 'configurableConstants' + 'abi' | 'bytecode' >; const abi = {{abiJsonString}}; const bytecode = '{{hexlifiedBinString}}'; -export class {{capitalizedName}} extends Predicate<{{capitalizedName}}Inputs, {{capitalizedName}}Configurables> { - +export class {{capitalizedName}} extends Predicate< + {{capitalizedName}}Inputs, + {{capitalizedName}}Configurables +> { static readonly abi = abi; static readonly bytecode = bytecode; constructor(params: {{capitalizedName}}Parameters) { - super({ - abi, - bytecode, - provider: params.provider, - data: params.data, - configurableConstants: params.configurableConstants, - }); + super({ abi, bytecode, ...params }); } } diff --git a/packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/main.hbs b/packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/main.hbs index 7872aa9f449..86990f8d6d5 100644 --- a/packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/main.hbs +++ b/packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/main.hbs @@ -25,9 +25,9 @@ export type MyPredicateConfigurables = Partial<{ export type MyPredicateInputs = [fee: BigNumberish, address: string]; -export type MyPredicateParameters = Pick< +export type MyPredicateParameters = Omit< PredicateParams, - 'provider' | 'data' | 'configurableConstants' + 'abi' | 'bytecode' >; const abi = { @@ -101,18 +101,14 @@ const abi = { const bytecode = '0x000'; -export class MyPredicate extends Predicate { - +export class MyPredicate extends Predicate< + MyPredicateInputs, + MyPredicateConfigurables +> { static readonly abi = abi; static readonly bytecode = bytecode; constructor(params: MyPredicateParameters) { - super({ - abi, - bytecode, - provider: params.provider, - data: params.data, - configurableConstants: params.configurableConstants, - }); + super({ abi, bytecode, ...params }); } } diff --git a/packages/abi-typegen/test/fixtures/templates/predicate/main.hbs b/packages/abi-typegen/test/fixtures/templates/predicate/main.hbs index b965144e06e..31d3baa70e2 100644 --- a/packages/abi-typegen/test/fixtures/templates/predicate/main.hbs +++ b/packages/abi-typegen/test/fixtures/templates/predicate/main.hbs @@ -33,9 +33,9 @@ export type MyPredicateConfigurables = undefined; export type MyPredicateInputs = [vec: Vec, enm: MyGenericEnumInput, opt: Option, res: Result, BigNumberish>]; -export type MyPredicateParameters = Pick< +export type MyPredicateParameters = Omit< PredicateParams, - 'provider' | 'data' | 'configurableConstants' + 'abi' | 'bytecode' >; const abi = { @@ -299,18 +299,14 @@ const abi = { const bytecode = '0x000'; -export class MyPredicate extends Predicate { - +export class MyPredicate extends Predicate< + MyPredicateInputs, + MyPredicateConfigurables +> { static readonly abi = abi; static readonly bytecode = bytecode; constructor(params: MyPredicateParameters) { - super({ - abi, - bytecode, - provider: params.provider, - data: params.data, - configurableConstants: params.configurableConstants, - }); + super({ abi, bytecode, ...params }); } } From c32118749f8c99723ac7f094aeb14a716dbee117 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Fri, 2 Aug 2024 12:20:46 -0300 Subject: [PATCH 75/95] Adjusting template's header --- packages/abi-typegen/src/templates/common/_header.hbs | 3 ++- .../fixtures/templates/contract-with-configurable/main.hbs | 4 ++-- .../abi-typegen/test/fixtures/templates/contract/factory.hbs | 4 ++-- .../abi-typegen/test/fixtures/templates/contract/main.hbs | 4 ++-- .../fixtures/templates/predicate-with-configurable/main.hbs | 4 ++-- .../abi-typegen/test/fixtures/templates/predicate/main.hbs | 4 ++-- .../test/fixtures/templates/script-with-configurable/main.hbs | 4 ++-- packages/abi-typegen/test/fixtures/templates/script/main.hbs | 4 ++-- 8 files changed, 16 insertions(+), 15 deletions(-) diff --git a/packages/abi-typegen/src/templates/common/_header.hbs b/packages/abi-typegen/src/templates/common/_header.hbs index b0624c1d9f4..03795282b54 100644 --- a/packages/abi-typegen/src/templates/common/_header.hbs +++ b/packages/abi-typegen/src/templates/common/_header.hbs @@ -1,8 +1,9 @@ +/* Autogenerated file. Do not edit manually. */ + /* eslint-disable max-classes-per-file */ /* eslint-disable @typescript-eslint/no-unused-vars */ /* eslint-disable @typescript-eslint/consistent-type-imports */ -/* Autogenerated file. Do not edit manually. */ /* Fuels version: {{FUELS}} diff --git a/packages/abi-typegen/test/fixtures/templates/contract-with-configurable/main.hbs b/packages/abi-typegen/test/fixtures/templates/contract-with-configurable/main.hbs index 5d8a4a8ac21..c67a131c9ab 100644 --- a/packages/abi-typegen/test/fixtures/templates/contract-with-configurable/main.hbs +++ b/packages/abi-typegen/test/fixtures/templates/contract-with-configurable/main.hbs @@ -1,9 +1,9 @@ +/* Autogenerated file. Do not edit manually. */ + /* eslint-disable max-classes-per-file */ /* eslint-disable @typescript-eslint/no-unused-vars */ /* eslint-disable @typescript-eslint/consistent-type-imports */ -/* Autogenerated file. Do not edit manually. */ - /* Fuels version: 11.11.11 Forc version: 22.22.22 diff --git a/packages/abi-typegen/test/fixtures/templates/contract/factory.hbs b/packages/abi-typegen/test/fixtures/templates/contract/factory.hbs index 77853c48757..9164c870f78 100644 --- a/packages/abi-typegen/test/fixtures/templates/contract/factory.hbs +++ b/packages/abi-typegen/test/fixtures/templates/contract/factory.hbs @@ -1,9 +1,9 @@ +/* Autogenerated file. Do not edit manually. */ + /* eslint-disable max-classes-per-file */ /* eslint-disable @typescript-eslint/no-unused-vars */ /* eslint-disable @typescript-eslint/consistent-type-imports */ -/* Autogenerated file. Do not edit manually. */ - /* Fuels version: 11.11.11 Forc version: 22.22.22 diff --git a/packages/abi-typegen/test/fixtures/templates/contract/main.hbs b/packages/abi-typegen/test/fixtures/templates/contract/main.hbs index 4ab5f93d9d8..0a3b59bffdb 100644 --- a/packages/abi-typegen/test/fixtures/templates/contract/main.hbs +++ b/packages/abi-typegen/test/fixtures/templates/contract/main.hbs @@ -1,9 +1,9 @@ +/* Autogenerated file. Do not edit manually. */ + /* eslint-disable max-classes-per-file */ /* eslint-disable @typescript-eslint/no-unused-vars */ /* eslint-disable @typescript-eslint/consistent-type-imports */ -/* Autogenerated file. Do not edit manually. */ - /* Fuels version: 11.11.11 Forc version: 22.22.22 diff --git a/packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/main.hbs b/packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/main.hbs index 86990f8d6d5..86204f512ae 100644 --- a/packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/main.hbs +++ b/packages/abi-typegen/test/fixtures/templates/predicate-with-configurable/main.hbs @@ -1,9 +1,9 @@ +/* Autogenerated file. Do not edit manually. */ + /* eslint-disable max-classes-per-file */ /* eslint-disable @typescript-eslint/no-unused-vars */ /* eslint-disable @typescript-eslint/consistent-type-imports */ -/* Autogenerated file. Do not edit manually. */ - /* Fuels version: 11.11.11 Forc version: 22.22.22 diff --git a/packages/abi-typegen/test/fixtures/templates/predicate/main.hbs b/packages/abi-typegen/test/fixtures/templates/predicate/main.hbs index 31d3baa70e2..12c5e476e31 100644 --- a/packages/abi-typegen/test/fixtures/templates/predicate/main.hbs +++ b/packages/abi-typegen/test/fixtures/templates/predicate/main.hbs @@ -1,9 +1,9 @@ +/* Autogenerated file. Do not edit manually. */ + /* eslint-disable max-classes-per-file */ /* eslint-disable @typescript-eslint/no-unused-vars */ /* eslint-disable @typescript-eslint/consistent-type-imports */ -/* Autogenerated file. Do not edit manually. */ - /* Fuels version: 11.11.11 Forc version: 22.22.22 diff --git a/packages/abi-typegen/test/fixtures/templates/script-with-configurable/main.hbs b/packages/abi-typegen/test/fixtures/templates/script-with-configurable/main.hbs index 16be5721155..33636339ed2 100644 --- a/packages/abi-typegen/test/fixtures/templates/script-with-configurable/main.hbs +++ b/packages/abi-typegen/test/fixtures/templates/script-with-configurable/main.hbs @@ -1,9 +1,9 @@ +/* Autogenerated file. Do not edit manually. */ + /* eslint-disable max-classes-per-file */ /* eslint-disable @typescript-eslint/no-unused-vars */ /* eslint-disable @typescript-eslint/consistent-type-imports */ -/* Autogenerated file. Do not edit manually. */ - /* Fuels version: 11.11.11 Forc version: 22.22.22 diff --git a/packages/abi-typegen/test/fixtures/templates/script/main.hbs b/packages/abi-typegen/test/fixtures/templates/script/main.hbs index 3b663b820ec..239131def05 100644 --- a/packages/abi-typegen/test/fixtures/templates/script/main.hbs +++ b/packages/abi-typegen/test/fixtures/templates/script/main.hbs @@ -1,9 +1,9 @@ +/* Autogenerated file. Do not edit manually. */ + /* eslint-disable max-classes-per-file */ /* eslint-disable @typescript-eslint/no-unused-vars */ /* eslint-disable @typescript-eslint/consistent-type-imports */ -/* Autogenerated file. Do not edit manually. */ - /* Fuels version: 11.11.11 Forc version: 22.22.22 From 4faf0a24c93846497b6da501d9d3b28b0d29e8ba Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Fri, 2 Aug 2024 17:16:12 -0300 Subject: [PATCH 76/95] Adjusting import paths and standardizing ficcticious types path --- apps/demo-typegen/src/demo.test.ts | 12 ++++++------ .../src/guide/create-fuels/decrement_counter.test.ts | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/apps/demo-typegen/src/demo.test.ts b/apps/demo-typegen/src/demo.test.ts index 238b415c6e3..13a549d5ac0 100644 --- a/apps/demo-typegen/src/demo.test.ts +++ b/apps/demo-typegen/src/demo.test.ts @@ -22,7 +22,7 @@ describe('ExampleContract', () => { } = launched; // #region typegen-demo-contract-storage-slots - // #context import storageSlots from './contract/out/debug/demo-contract-storage_slots.json'; + // #context import { DemoContractFactory } from './typegend'; const { waitForResult } = await DemoContractFactory.deploy(wallet, { storageSlots, @@ -55,7 +55,7 @@ describe('ExampleContract', () => { // You can also make a call using the factory // #region typegen-demo-contract-factory-connect - // #context import { DemoContractAbi } from './types'; + // #context import { DemoContract } from './typegend'; const contractInstance = new DemoContract(contractId, wallet); const call2 = await contractInstance.functions.return_input(1337).call(); @@ -72,7 +72,7 @@ describe('ExampleContract', () => { } = launched; // #region typegen-demo-contract-factory-deploy - // #context import { DemoContractAbi } from './types'; + // #context import { DemoContract } from './typegend'; // #context // Deploy @@ -136,7 +136,7 @@ test('Example script', async () => { } = launched; // #region typegen-demo-script - // #context import { ScriptAbi } from './types'; + // #context import { Script } from './typegend'; const script = new DemoScript(wallet); const { waitForResult } = await script.functions.main().call(); @@ -147,8 +147,8 @@ test('Example script', async () => { test('Example predicate', async () => { // #region typegen-demo-predicate - // #context import type { PredicateAbiInputs } from './types'; - // #context import { PredicateAbi } from './types'; + // #context import type { PredicateInputs } from './typegend'; + // #context import { Predicate } from './typegend'; // In this exchange, we are first transferring some coins to the predicate using launched = await launchTestNode(); diff --git a/apps/docs-snippets/src/guide/create-fuels/decrement_counter.test.ts b/apps/docs-snippets/src/guide/create-fuels/decrement_counter.test.ts index 91ea1e89c3c..e43cb271872 100644 --- a/apps/docs-snippets/src/guide/create-fuels/decrement_counter.test.ts +++ b/apps/docs-snippets/src/guide/create-fuels/decrement_counter.test.ts @@ -9,7 +9,7 @@ import { CounterFactory } from '../../../test/typegen'; */ describe('Counter Contract', () => { // #region decrement-counter - // #context import { CounterAbi } from './sway-programs-api'; + // #context import { Counter } from './typegend'; test('calls the decrement_counter function', async () => { // First, we'll launch a test node, passing the contract factory and bytecode. This will deploy the contract From 86b3e7067539bdf6ad85b5c46144c526f6539e0f Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Fri, 2 Aug 2024 17:21:09 -0300 Subject: [PATCH 77/95] DRY --- packages/abi-typegen/src/abi/Abi.ts | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/packages/abi-typegen/src/abi/Abi.ts b/packages/abi-typegen/src/abi/Abi.ts index ce92365102d..e3f2754ad48 100644 --- a/packages/abi-typegen/src/abi/Abi.ts +++ b/packages/abi-typegen/src/abi/Abi.ts @@ -62,11 +62,8 @@ export class Abi { } this.programType = programType; - - const normalizedName = `${normalizeString(abiName[1])}`; - - this.capitalizedName = normalizedName; - this.camelizedName = normalizedName.replace(/^./m, (x) => x.toLowerCase()); + this.capitalizedName = `${normalizeString(abiName[1])}`;; + this.camelizedName = this.capitalizedName.replace(/^./m, (x) => x.toLowerCase()); this.filepath = filepath; this.rawContents = rawContents; From 66b0e9f0d2fd2fe60e10bfc43395316ff200793c Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Fri, 2 Aug 2024 17:35:58 -0300 Subject: [PATCH 78/95] Oops --- packages/abi-typegen/src/abi/Abi.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/abi-typegen/src/abi/Abi.ts b/packages/abi-typegen/src/abi/Abi.ts index e3f2754ad48..2a098f653b0 100644 --- a/packages/abi-typegen/src/abi/Abi.ts +++ b/packages/abi-typegen/src/abi/Abi.ts @@ -62,7 +62,7 @@ export class Abi { } this.programType = programType; - this.capitalizedName = `${normalizeString(abiName[1])}`;; + this.capitalizedName = `${normalizeString(abiName[1])}`; this.camelizedName = this.capitalizedName.replace(/^./m, (x) => x.toLowerCase()); this.filepath = filepath; From 5ec844338441ee08ad7bf946234bb85c0f601aa9 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Fri, 2 Aug 2024 17:51:08 -0300 Subject: [PATCH 79/95] Renaming `deployContract` to `deploy` (redundant suffix) --- apps/demo-bun-fuels/src/bun.test.ts | 4 +-- apps/demo-typegen/src/demo.test.ts | 8 +++--- .../contracts/configurable-constants.test.ts | 6 ++--- .../contracts/deploying-contracts.test.ts | 2 +- .../contracts/inter-contract-calls.test.ts | 4 +-- .../managing-deployed-contracts.test.ts | 2 +- .../src/guide/contracts/multicalls.test.ts | 6 ++--- ...custom-transactions-contract-calls.test.ts | 2 +- .../cookbook/deposit-and-withdraw.test.ts | 2 +- .../cookbook/transferring-assets.test.ts | 2 +- .../scripts/script-custom-transaction.test.ts | 2 +- apps/docs-snippets/src/utils.ts | 2 +- .../guide/contracts/deploying-contracts.md | 2 +- .../guide/fuels-cli/using-generated-types.md | 2 +- .../src/guide/testing/test-node-options.md | 2 +- .../src/templates/contract/factory.hbs | 2 +- .../fixtures/templates/contract/factory.hbs | 2 +- packages/contract/src/contract-factory.ts | 26 +++++++++---------- .../src/test-utils/launch-test-node.test.ts | 12 ++++----- .../fuel-gauge/src/contract-factory.test.ts | 10 +++---- packages/fuel-gauge/src/contract.test.ts | 6 ++--- packages/fuel-gauge/src/policies.test.ts | 2 +- .../src/reentrant-contract-calls.test.ts | 2 +- packages/fuel-gauge/src/revert-error.test.ts | 2 +- .../src/storage-test-contract.test.ts | 4 +-- .../src/cli/commands/deploy/deployContract.ts | 2 +- 26 files changed, 59 insertions(+), 59 deletions(-) diff --git a/apps/demo-bun-fuels/src/bun.test.ts b/apps/demo-bun-fuels/src/bun.test.ts index 049e02e1447..8eb36adfe22 100644 --- a/apps/demo-bun-fuels/src/bun.test.ts +++ b/apps/demo-bun-fuels/src/bun.test.ts @@ -27,7 +27,7 @@ describe('ExampleContract', () => { // Deploy const factory = new SampleFactory(wallet); - const { waitForResult } = await factory.deployContract(); + const { waitForResult } = await factory.deploy(); const { contract } = await waitForResult(); // Call @@ -48,7 +48,7 @@ describe('ExampleContract', () => { expect(v2.toHex()).toBe(toHex(1337)); }); - it('deployContract method', async () => { + it('deploy method', async () => { const provider = await Provider.create(FUEL_NETWORK_URL); const wallet = await generateTestWallet(provider, [[500_000, baseAssetId]]); diff --git a/apps/demo-typegen/src/demo.test.ts b/apps/demo-typegen/src/demo.test.ts index 13a549d5ac0..47f20782a4c 100644 --- a/apps/demo-typegen/src/demo.test.ts +++ b/apps/demo-typegen/src/demo.test.ts @@ -42,7 +42,7 @@ describe('ExampleContract', () => { // Deploy const factory = new DemoContractFactory(wallet); - const deploy = await factory.deployContract(); + const deploy = await factory.deploy(); const { contract } = await deploy.waitForResult(); const contractId = contract.id; @@ -64,7 +64,7 @@ describe('ExampleContract', () => { expect(v2.toHex()).toBe(toHex(1337)); }); - it('deployContract method', async () => { + it('deploy method', async () => { using launched = await launchTestNode(); const { @@ -102,7 +102,7 @@ it('should throw when simulating via contract factory with wallet with no resour const unfundedWallet = Wallet.generate({ provider }); const factory = new DemoContractFactory(fundedWallet); - const { waitForResult } = await factory.deployContract(); + const { waitForResult } = await factory.deploy(); const { contract } = await waitForResult(); const contractInstance = new DemoContract(contract.id, unfundedWallet); @@ -121,7 +121,7 @@ it('should not throw when dry running via contract factory with wallet with no r const unfundedWallet = Wallet.generate({ provider }); const factory = new DemoContractFactory(fundedWallet); - const { waitForResult } = await factory.deployContract(); + const { waitForResult } = await factory.deploy(); const { contract } = await waitForResult(); const contractInstance = new DemoContract(contract.id, unfundedWallet); diff --git a/apps/docs-snippets/src/guide/contracts/configurable-constants.test.ts b/apps/docs-snippets/src/guide/contracts/configurable-constants.test.ts index 8892a1d0c87..685d786f687 100644 --- a/apps/docs-snippets/src/guide/contracts/configurable-constants.test.ts +++ b/apps/docs-snippets/src/guide/contracts/configurable-constants.test.ts @@ -47,7 +47,7 @@ describe('configurable-constants', () => { const factory = new ContractFactory(bin, abi, wallet); - const { waitForResult } = await factory.deployContract({ + const { waitForResult } = await factory.deploy({ configurableConstants, }); @@ -70,7 +70,7 @@ describe('configurable-constants', () => { const factory = new ContractFactory(bin, abi, wallet); - const { waitForResult } = await factory.deployContract({ + const { waitForResult } = await factory.deploy({ configurableConstants, }); @@ -96,7 +96,7 @@ describe('configurable-constants', () => { const factory = new ContractFactory(bin, abi, wallet); await expect( - factory.deployContract({ + factory.deploy({ configurableConstants, }) ).rejects.toThrowError(); diff --git a/apps/docs-snippets/src/guide/contracts/deploying-contracts.test.ts b/apps/docs-snippets/src/guide/contracts/deploying-contracts.test.ts index 207ea7a7e70..468ec99fb77 100644 --- a/apps/docs-snippets/src/guide/contracts/deploying-contracts.test.ts +++ b/apps/docs-snippets/src/guide/contracts/deploying-contracts.test.ts @@ -44,7 +44,7 @@ describe(__filename, () => { // #region contract-setup-3 const factory = new ContractFactory(byteCode, abi, wallet); - const { contractId, transactionId, waitForResult } = await factory.deployContract(); + const { contractId, transactionId, waitForResult } = await factory.deploy(); // #endregion contract-setup-3 // #region contract-setup-4 diff --git a/apps/docs-snippets/src/guide/contracts/inter-contract-calls.test.ts b/apps/docs-snippets/src/guide/contracts/inter-contract-calls.test.ts index ba5676fc1e6..b0d5e44c66a 100644 --- a/apps/docs-snippets/src/guide/contracts/inter-contract-calls.test.ts +++ b/apps/docs-snippets/src/guide/contracts/inter-contract-calls.test.ts @@ -25,7 +25,7 @@ describe(__filename, () => { tokenArtifacts.binHexlified, tokenArtifacts.abiContents, wallet - ).deployContract(); + ).deploy(); ({ contract: simpleToken } = await waitForResult()); @@ -33,7 +33,7 @@ describe(__filename, () => { depositorArtifacts.binHexlified, depositorArtifacts.abiContents, wallet - ).deployContract(); + ).deploy(); ({ contract: tokenDepositor } = await waitForResult2()); }); diff --git a/apps/docs-snippets/src/guide/contracts/managing-deployed-contracts.test.ts b/apps/docs-snippets/src/guide/contracts/managing-deployed-contracts.test.ts index 4e0658f7d11..ebba2a91d7e 100644 --- a/apps/docs-snippets/src/guide/contracts/managing-deployed-contracts.test.ts +++ b/apps/docs-snippets/src/guide/contracts/managing-deployed-contracts.test.ts @@ -21,7 +21,7 @@ describe(__filename, () => { beforeAll(async () => { wallet = await getTestWallet(); const factory = new ContractFactory(bin, abi, wallet); - const { waitForResult } = await factory.deployContract(); + const { waitForResult } = await factory.deploy(); ({ contract } = await waitForResult()); contractId = contract.id; }); diff --git a/apps/docs-snippets/src/guide/contracts/multicalls.test.ts b/apps/docs-snippets/src/guide/contracts/multicalls.test.ts index 2ef6bd2e722..e538b5a572c 100644 --- a/apps/docs-snippets/src/guide/contracts/multicalls.test.ts +++ b/apps/docs-snippets/src/guide/contracts/multicalls.test.ts @@ -42,16 +42,16 @@ describe(__filename, () => { wallet ); - let { waitForResult } = await factory1.deployContract(); + let { waitForResult } = await factory1.deploy(); ({ contract: echoContract } = await waitForResult()); - ({ waitForResult } = await factory2.deployContract({ + ({ waitForResult } = await factory2.deploy({ storageSlots: counterArtifacts.storageSlots, })); ({ contract: counterContract } = await waitForResult()); - ({ waitForResult } = await factory3.deployContract()); + ({ waitForResult } = await factory3.deploy()); ({ contract: contextContract } = await waitForResult()); }); diff --git a/apps/docs-snippets/src/guide/cookbook/custom-transactions-contract-calls.test.ts b/apps/docs-snippets/src/guide/cookbook/custom-transactions-contract-calls.test.ts index 609f43654f0..34c49408095 100644 --- a/apps/docs-snippets/src/guide/cookbook/custom-transactions-contract-calls.test.ts +++ b/apps/docs-snippets/src/guide/cookbook/custom-transactions-contract-calls.test.ts @@ -24,7 +24,7 @@ describe('Custom Transactions from Contract Calls', () => { senderWallet = await getTestWallet(); receiverWallet = Wallet.generate({ provider: senderWallet.provider }); const factory = new ContractFactory(binHexlified, abiContents, senderWallet); - const { waitForResult } = await factory.deployContract({ storageSlots }); + const { waitForResult } = await factory.deploy({ storageSlots }); ({ contract } = await waitForResult()); abi = abiContents; baseAssetId = senderWallet.provider.getBaseAssetId(); diff --git a/apps/docs-snippets/src/guide/cookbook/deposit-and-withdraw.test.ts b/apps/docs-snippets/src/guide/cookbook/deposit-and-withdraw.test.ts index 17556f76bf6..4df41c2dc57 100644 --- a/apps/docs-snippets/src/guide/cookbook/deposit-and-withdraw.test.ts +++ b/apps/docs-snippets/src/guide/cookbook/deposit-and-withdraw.test.ts @@ -25,7 +25,7 @@ describe(__filename, () => { provider = sender.provider; baseAssetId = provider.getBaseAssetId(); const factory = new ContractFactory(binHexlified, abiContents, sender); - const { waitForResult } = await factory.deployContract({ + const { waitForResult } = await factory.deploy({ configurableConstants: { TOKEN: { bits: baseAssetId } }, }); ({ contract: liquidityPoolContract } = await waitForResult()); diff --git a/apps/docs-snippets/src/guide/cookbook/transferring-assets.test.ts b/apps/docs-snippets/src/guide/cookbook/transferring-assets.test.ts index 25547393702..f970d3be7cc 100644 --- a/apps/docs-snippets/src/guide/cookbook/transferring-assets.test.ts +++ b/apps/docs-snippets/src/guide/cookbook/transferring-assets.test.ts @@ -23,7 +23,7 @@ describe(__filename, () => { ); provider = sender.provider; const factory = new ContractFactory(binHexlified, abiContents, sender); - const { waitForResult } = await factory.deployContract(); + const { waitForResult } = await factory.deploy(); ({ contract: deployedContract } = await waitForResult()); }); diff --git a/apps/docs-snippets/src/guide/scripts/script-custom-transaction.test.ts b/apps/docs-snippets/src/guide/scripts/script-custom-transaction.test.ts index 036b7759d75..7a55fe15d33 100644 --- a/apps/docs-snippets/src/guide/scripts/script-custom-transaction.test.ts +++ b/apps/docs-snippets/src/guide/scripts/script-custom-transaction.test.ts @@ -42,7 +42,7 @@ describe(__filename, () => { ]; wallet = await getTestWallet(seedQuantities); const factory = new ContractFactory(contractBin, contractAbi, wallet); - const { waitForResult } = await factory.deployContract(); + const { waitForResult } = await factory.deploy(); ({ contract } = await waitForResult()); }); diff --git a/apps/docs-snippets/src/utils.ts b/apps/docs-snippets/src/utils.ts index eabafc5b6f9..ebdb9624b8f 100644 --- a/apps/docs-snippets/src/utils.ts +++ b/apps/docs-snippets/src/utils.ts @@ -57,7 +57,7 @@ export const createAndDeployContractFromProject = async ( const contractFactory = new ContractFactory(binHexlified, abiContents, wallet); - const { waitForResult } = await contractFactory.deployContract({ + const { waitForResult } = await contractFactory.deploy({ storageSlots, }); diff --git a/apps/docs/src/guide/contracts/deploying-contracts.md b/apps/docs/src/guide/contracts/deploying-contracts.md index 9e00beac37a..7c184cf39ba 100644 --- a/apps/docs/src/guide/contracts/deploying-contracts.md +++ b/apps/docs/src/guide/contracts/deploying-contracts.md @@ -29,7 +29,7 @@ Load the contract bytecode and JSON ABI, generated from the Sway source, into th ## 4. Deploying the Contract -To deploy the contract, instantiate the [`ContractFactory`](../../api/Contract/ContractFactory.md) with the bytecode, ABI, and wallet. Then, call the `deployContract` method. This call resolves as soon as the transaction to deploy the contract is submitted and returns three items: the `contractId`, the `transactionId` and a `waitForResult` function. +To deploy the contract, instantiate the [`ContractFactory`](../../api/Contract/ContractFactory.md) with the bytecode, ABI, and wallet. Then, call the `deploy` method. This call resolves as soon as the transaction to deploy the contract is submitted and returns three items: the `contractId`, the `transactionId` and a `waitForResult` function. <<< @/../../docs-snippets/src/guide/contracts/deploying-contracts.test.ts#contract-setup-3{ts:line-numbers} diff --git a/apps/docs/src/guide/fuels-cli/using-generated-types.md b/apps/docs/src/guide/fuels-cli/using-generated-types.md index 2ba5f58c2da..4702c2e0394 100644 --- a/apps/docs/src/guide/fuels-cli/using-generated-types.md +++ b/apps/docs/src/guide/fuels-cli/using-generated-types.md @@ -20,7 +20,7 @@ Let's use the Contract class to deploy a contract: ### Autoloading of Storage Slots -Typegen tries to resolve, auto-load, and embed the [Storage Slots](../contracts/storage-slots.md) for your Contract within the `MyContract` class. Still, you can override it alongside other options from [`DeployContractOptions`](https://github.com/FuelLabs/fuels-ts/blob/a64b67b9fb2d7f764ab9151a21d2266bf2df3643/packages/contract/src/contract-factory.ts#L19-L24), when calling the `deployContract` method: +Typegen tries to resolve, auto-load, and embed the [Storage Slots](../contracts/storage-slots.md) for your Contract within the `MyContract` class. Still, you can override it alongside other options from [`DeployContractOptions`](https://github.com/FuelLabs/fuels-ts/blob/a64b67b9fb2d7f764ab9151a21d2266bf2df3643/packages/contract/src/contract-factory.ts#L19-L24), when calling the `deploy` method: <<< @/../../demo-typegen/src/demo.test.ts#typegen-demo-contract-storage-slots{ts:line-numbers} diff --git a/apps/docs/src/guide/testing/test-node-options.md b/apps/docs/src/guide/testing/test-node-options.md index 7c7b2eb6d7f..1ef458131f5 100644 --- a/apps/docs/src/guide/testing/test-node-options.md +++ b/apps/docs/src/guide/testing/test-node-options.md @@ -43,7 +43,7 @@ Used to deploy contracts on the node the `launchTestNode` utility launches. It's - `deployer`: contract deployer object compatible with factories outputted by `pnpm fuels typegen`. You can also pass in your custom object that satisfies the interface. - `bytecode`: the contract's bytecode. - `walletIndex`: the index of the wallets generated by [`walletsConfig`](./test-node-options.md#walletsconfig) that you want to deploy the contract with. -- `options`: options for [contract deployment](../contracts/deploying-contracts.md#4-deploying-the-contract) that get passed to the [`ContractFactory.deployContract`](../../api/Contract/ContractFactory.md#deploycontract) method. +- `options`: options for [contract deployment](../contracts/deploying-contracts.md#4-deploying-the-contract) that get passed to the [`ContractFactory.deploy`](../../api/Contract/ContractFactory.md#deploycontract) method. ## `nodeOptions` diff --git a/packages/abi-typegen/src/templates/contract/factory.hbs b/packages/abi-typegen/src/templates/contract/factory.hbs index ee2073b037e..7ac88b6e86c 100644 --- a/packages/abi-typegen/src/templates/contract/factory.hbs +++ b/packages/abi-typegen/src/templates/contract/factory.hbs @@ -21,7 +21,7 @@ export class {{capitalizedName}}Factory extends ContractFactory { ): Promise> { const factory = new {{capitalizedName}}Factory(wallet); - return factory.deployContract({ + return factory.deploy({ storageSlots: {{capitalizedName}}.storageSlots, ...options, }); diff --git a/packages/abi-typegen/test/fixtures/templates/contract/factory.hbs b/packages/abi-typegen/test/fixtures/templates/contract/factory.hbs index 9164c870f78..c1c4d0796cf 100644 --- a/packages/abi-typegen/test/fixtures/templates/contract/factory.hbs +++ b/packages/abi-typegen/test/fixtures/templates/contract/factory.hbs @@ -31,7 +31,7 @@ export class MyContractFactory extends ContractFactory { ): Promise> { const factory = new MyContractFactory(wallet); - return factory.deployContract({ + return factory.deploy({ storageSlots: MyContract.storageSlots, ...options, }); diff --git a/packages/contract/src/contract-factory.ts b/packages/contract/src/contract-factory.ts index 8bdaf9e7c66..3efee22b16b 100644 --- a/packages/contract/src/contract-factory.ts +++ b/packages/contract/src/contract-factory.ts @@ -106,11 +106,11 @@ export default class ContractFactory { /** * Create a transaction request to deploy a contract with the specified options. * - * @param deployContractOptions - Options for deploying the contract. + * @param deployOptions - Options for deploying the contract. * @returns The CreateTransactionRequest object for deploying the contract. */ - createTransactionRequest(deployContractOptions?: DeployContractOptions) { - const storageSlots = deployContractOptions?.storageSlots + createTransactionRequest(deployOptions?: DeployContractOptions) { + const storageSlots = deployOptions?.storageSlots ?.map(({ key, value }) => ({ key: hexlifyWithPrefix(key), value: hexlifyWithPrefix(value), @@ -119,7 +119,7 @@ export default class ContractFactory { const options = { salt: randomBytes(32), - ...deployContractOptions, + ...deployOptions, storageSlots: storageSlots || [], }; @@ -148,11 +148,11 @@ export default class ContractFactory { /** * Deploy a contract with the specified options. * - * @param deployContractOptions - Options for deploying the contract. + * @param deployOptions - Options for deploying the contract. * @returns A promise that resolves to the deployed contract instance. */ - async deployContract( - deployContractOptions: DeployContractOptions = {} + async deploy( + deployOptions: DeployContractOptions = {} ): Promise> { if (this.bytecode.length > MAX_CONTRACT_SIZE) { throw new FuelError( @@ -161,7 +161,7 @@ export default class ContractFactory { ); } - const { contractId, transactionRequest } = await this.prepareDeploy(deployContractOptions); + const { contractId, transactionRequest } = await this.prepareDeploy(deployOptions); const account = this.getAccount(); @@ -220,26 +220,26 @@ export default class ContractFactory { return this.account; } - private async prepareDeploy(deployContractOptions: DeployContractOptions) { - const { configurableConstants } = deployContractOptions; + private async prepareDeploy(deployOptions: DeployContractOptions) { + const { configurableConstants } = deployOptions; if (configurableConstants) { this.setConfigurableConstants(configurableConstants); } - const { contractId, transactionRequest } = this.createTransactionRequest(deployContractOptions); + const { contractId, transactionRequest } = this.createTransactionRequest(deployOptions); const account = this.getAccount(); const txCost = await account.getTransactionCost(transactionRequest); - const { maxFee: setMaxFee } = deployContractOptions; + const { maxFee: setMaxFee } = deployOptions; if (isDefined(setMaxFee)) { if (txCost.maxFee.gt(setMaxFee)) { throw new FuelError( ErrorCode.MAX_FEE_TOO_LOW, - `Max fee '${deployContractOptions.maxFee}' is lower than the required: '${txCost.maxFee}'.` + `Max fee '${deployOptions.maxFee}' is lower than the required: '${txCost.maxFee}'.` ); } } else { diff --git a/packages/contract/src/test-utils/launch-test-node.test.ts b/packages/contract/src/test-utils/launch-test-node.test.ts index 1df4d1396ed..854376b5336 100644 --- a/packages/contract/src/test-utils/launch-test-node.test.ts +++ b/packages/contract/src/test-utils/launch-test-node.test.ts @@ -120,7 +120,7 @@ describe('launchTestNode', () => { factory: { deploy: async (wallet, options) => { const factory = new ContractFactory(binHexlified, abiContents, wallet); - return factory.deployContract(options); + return factory.deploy(options); }, }, }, @@ -143,7 +143,7 @@ describe('launchTestNode', () => { factory: { deploy: async (wallet, options) => { const factory = new ContractFactory(binHexlified, abiContents, wallet); - return factory.deployContract(options); + return factory.deploy(options); }, }, }, @@ -151,7 +151,7 @@ describe('launchTestNode', () => { factory: { deploy: async (wallet, options) => { const factory = new ContractFactory(binHexlified, abiContents, wallet); - return factory.deployContract(options); + return factory.deploy(options); }, }, }, @@ -182,7 +182,7 @@ describe('launchTestNode', () => { factory: { deploy: async (wallet, options) => { const factory = new ContractFactory(binHexlified, abiContents, wallet); - return factory.deployContract(options); + return factory.deploy(options); }, }, }, @@ -190,7 +190,7 @@ describe('launchTestNode', () => { factory: { deploy: async (wallet, options) => { const factory = new ContractFactory(binHexlified, abiContents, wallet); - return factory.deployContract(options); + return factory.deploy(options); }, }, walletIndex: 1, @@ -225,7 +225,7 @@ describe('launchTestNode', () => { factory: { deploy: async (wallet, options) => { const factory = new ContractFactory(binHexlified, abiContents, wallet); - return factory.deployContract(options); + return factory.deploy(options); }, }, walletIndex: 2, diff --git a/packages/fuel-gauge/src/contract-factory.test.ts b/packages/fuel-gauge/src/contract-factory.test.ts index ba03f5dee05..20de0066957 100644 --- a/packages/fuel-gauge/src/contract-factory.test.ts +++ b/packages/fuel-gauge/src/contract-factory.test.ts @@ -98,7 +98,7 @@ describe('Contract Factory', () => { }); }); - it('should not override user input maxFee when calling deployContract', async () => { + it('should not override user input maxFee when calling deploy', async () => { using launched = await launchTestNode(); const { wallets: [wallet], @@ -112,7 +112,7 @@ describe('Contract Factory', () => { ); const spy = vi.spyOn(factory.account as Account, 'sendTransaction'); - await factory.deployContract({ + await factory.deploy({ maxFee: setFee, }); @@ -169,7 +169,7 @@ describe('Contract Factory', () => { ); const b256 = '0x626f0c36909faecc316056fca8be684ab0cd06afc63247dc008bdf9e433f927a'; - const { waitForResult } = await factory.deployContract({ + const { waitForResult } = await factory.deploy({ storageSlots: [ { key: '0x0000000000000000000000000000000000000000000000000000000000000001', value: b256 }, ], @@ -193,7 +193,7 @@ describe('Contract Factory', () => { ); const b256 = '0x626f0c36909faecc316056fca8be684ab0cd06afc63247dc008bdf9e433f927a'; - const { waitForResult } = await factory.deployContract({ + const { waitForResult } = await factory.deploy({ storageSlots: [ ...StorageTestContract.storageSlots, // initializing from storage_slots.json { key: '0000000000000000000000000000000000000000000000000000000000000001', value: b256 }, // Initializing manual value @@ -255,7 +255,7 @@ describe('Contract Factory', () => { const factory = new ContractFactory(largeByteCode, StorageTestContract.abi, wallet); await expectToThrowFuelError( - async () => factory.deployContract(), + async () => factory.deploy(), new FuelError( ErrorCode.CONTRACT_SIZE_EXCEEDS_LIMIT, 'Contract bytecode is too large. Max contract size is 100KB' diff --git a/packages/fuel-gauge/src/contract.test.ts b/packages/fuel-gauge/src/contract.test.ts index fbd2429ac6d..f0889d0a43e 100644 --- a/packages/fuel-gauge/src/contract.test.ts +++ b/packages/fuel-gauge/src/contract.test.ts @@ -999,7 +999,7 @@ describe('Contract', () => { wallet ); - const { waitForResult } = await factory.deployContract(); + const { waitForResult } = await factory.deploy(); const { contract } = await waitForResult(); const receiver1 = Wallet.generate({ provider }); @@ -1045,7 +1045,7 @@ describe('Contract', () => { wallet ); - const { waitForResult } = await factory.deployContract(); + const { waitForResult } = await factory.deploy(); const { contract } = await waitForResult(); @@ -1178,7 +1178,7 @@ describe('Contract', () => { wallet ); - const { waitForResult } = await factory.deployContract(); + const { waitForResult } = await factory.deploy(); const { contract: storageContract } = await waitForResult(); const initialCounterValue = 20; diff --git a/packages/fuel-gauge/src/policies.test.ts b/packages/fuel-gauge/src/policies.test.ts index 671de264f08..9e43f76ccb0 100644 --- a/packages/fuel-gauge/src/policies.test.ts +++ b/packages/fuel-gauge/src/policies.test.ts @@ -452,7 +452,7 @@ describe('Policies', () => { }; await expect(async () => { - await factory.deployContract(txParams); + await factory.deploy(txParams); }).rejects.toThrow(new RegExp(`Max fee '${maxFee}' is lower than the required`)); }); diff --git a/packages/fuel-gauge/src/reentrant-contract-calls.test.ts b/packages/fuel-gauge/src/reentrant-contract-calls.test.ts index b6151e1bb77..d7d56989587 100644 --- a/packages/fuel-gauge/src/reentrant-contract-calls.test.ts +++ b/packages/fuel-gauge/src/reentrant-contract-calls.test.ts @@ -71,7 +71,7 @@ describe('Reentrant Contract Calls', () => { StorageTestContractFactory.bytecode, StorageTestContract.abi, wallet - ).deployContract({ storageSlots: StorageTestContract.storageSlots }); + ).deploy({ storageSlots: StorageTestContract.storageSlots }); const { contract: storageContract } = await deploy.waitForResult(); diff --git a/packages/fuel-gauge/src/revert-error.test.ts b/packages/fuel-gauge/src/revert-error.test.ts index 04fd908a6aa..ae764f46d25 100644 --- a/packages/fuel-gauge/src/revert-error.test.ts +++ b/packages/fuel-gauge/src/revert-error.test.ts @@ -196,7 +196,7 @@ describe('Revert Error Testing', () => { } = launched; const factory = new ContractFactory(TokenContractFactory.bytecode, TokenContract.abi, wallet); - const { waitForResult } = await factory.deployContract(); + const { waitForResult } = await factory.deploy(); const { contract: tokenContract } = await waitForResult(); const addresses = [ diff --git a/packages/fuel-gauge/src/storage-test-contract.test.ts b/packages/fuel-gauge/src/storage-test-contract.test.ts index 47100a47546..256cf3462f9 100644 --- a/packages/fuel-gauge/src/storage-test-contract.test.ts +++ b/packages/fuel-gauge/src/storage-test-contract.test.ts @@ -25,7 +25,7 @@ describe('StorageTestContract', () => { StorageTestContract.abi, wallet ); - const deploy = await factory.deployContract({ + const deploy = await factory.deploy({ storageSlots, }); @@ -62,7 +62,7 @@ describe('StorageTestContract', () => { wallet ); // #region contract-deployment-storage-slots-inline - const { waitForResult } = await factory.deployContract({ + const { waitForResult } = await factory.deploy({ storageSlots: [ { key: '02dac99c283f16bc91b74f6942db7f012699a2ad51272b15207b9cc14a70dbae', diff --git a/packages/fuels/src/cli/commands/deploy/deployContract.ts b/packages/fuels/src/cli/commands/deploy/deployContract.ts index 4b342e12438..b5ffbe92f9e 100644 --- a/packages/fuels/src/cli/commands/deploy/deployContract.ts +++ b/packages/fuels/src/cli/commands/deploy/deployContract.ts @@ -25,7 +25,7 @@ export async function deployContract( const abi = JSON.parse(readFileSync(abiPath, 'utf-8')); const contractFactory = new ContractFactory(bytecode, abi, wallet); - const { waitForResult } = await contractFactory.deployContract(deployConfig); + const { waitForResult } = await contractFactory.deploy(deployConfig); const { contract } = await waitForResult(); return contract.id.toB256(); From cc6e282ea18d7abfb4a3ee24e01a5c913a24289a Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Fri, 2 Aug 2024 18:07:57 -0300 Subject: [PATCH 80/95] Fixing broken anchor --- apps/docs/src/guide/testing/test-node-options.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/src/guide/testing/test-node-options.md b/apps/docs/src/guide/testing/test-node-options.md index 1ef458131f5..b794d351c33 100644 --- a/apps/docs/src/guide/testing/test-node-options.md +++ b/apps/docs/src/guide/testing/test-node-options.md @@ -43,7 +43,7 @@ Used to deploy contracts on the node the `launchTestNode` utility launches. It's - `deployer`: contract deployer object compatible with factories outputted by `pnpm fuels typegen`. You can also pass in your custom object that satisfies the interface. - `bytecode`: the contract's bytecode. - `walletIndex`: the index of the wallets generated by [`walletsConfig`](./test-node-options.md#walletsconfig) that you want to deploy the contract with. -- `options`: options for [contract deployment](../contracts/deploying-contracts.md#4-deploying-the-contract) that get passed to the [`ContractFactory.deploy`](../../api/Contract/ContractFactory.md#deploycontract) method. +- `options`: options for [contract deployment](../contracts/deploying-contracts.md#4-deploying-the-contract) that get passed to the [`ContractFactory.deploy`](../../api/Contract/ContractFactory.md#deploy) method. ## `nodeOptions` From 3a23bbdb861a02432b11409babeffcc02c6948f3 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Sun, 4 Aug 2024 11:02:26 -0300 Subject: [PATCH 81/95] Going boolean --- packages/abi-typegen/package.json | 2 +- packages/abi-typegen/test/utils/updateFixture.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/abi-typegen/package.json b/packages/abi-typegen/package.json index 10106ee8f9c..7749454c4e1 100644 --- a/packages/abi-typegen/package.json +++ b/packages/abi-typegen/package.json @@ -45,7 +45,7 @@ "scripts": { "pretest": "run-s build:forc-callpaths build:forc", "test": "cd ../.. && pnpm run test:filter packages/abi-typegen", - "test:update-fixtures": "UPDATE_FIXTURES=yes pnpm run test", + "test:update-fixtures": "UPDATE_FIXTURES=true pnpm run test", "build": "tsup", "build:forc": "pnpm fuels-forc build -p test/fixtures/forc-projects --release", "build:forc-callpaths": "pnpm fuels-forc build -p test/fixtures/forc-projects --json-abi-with-callpaths", diff --git a/packages/abi-typegen/test/utils/updateFixture.ts b/packages/abi-typegen/test/utils/updateFixture.ts index 6d88438ca8c..cd62496cd19 100644 --- a/packages/abi-typegen/test/utils/updateFixture.ts +++ b/packages/abi-typegen/test/utils/updateFixture.ts @@ -1,7 +1,7 @@ import { writeFileSync } from 'fs'; export function autoUpdateFixture(path: string, contents: string) { - if (process.env.UPDATE_FIXTURES === 'yes') { + if (process.env.UPDATE_FIXTURES === 'true') { if (!/fixtures/.test(path)) { throw new Error(`This path may no be a fixture: ${path}`); } From 0d90ee9f446d1c7f4e75ecf74ecdd30b309ab79a Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Mon, 5 Aug 2024 07:05:55 -0300 Subject: [PATCH 82/95] Adjusting outdated options name and docs --- apps/docs/src/guide/testing/test-node-options.md | 2 +- packages/contract/src/test-utils/launch-test-node.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/docs/src/guide/testing/test-node-options.md b/apps/docs/src/guide/testing/test-node-options.md index b794d351c33..f182ed7d7cc 100644 --- a/apps/docs/src/guide/testing/test-node-options.md +++ b/apps/docs/src/guide/testing/test-node-options.md @@ -40,7 +40,7 @@ It can also be used standalone and passed into the initial state of the chain vi Used to deploy contracts on the node the `launchTestNode` utility launches. It's an array of objects with the following properties: -- `deployer`: contract deployer object compatible with factories outputted by `pnpm fuels typegen`. You can also pass in your custom object that satisfies the interface. +- `factory`: contract factory class outputted by `pnpm fuels typegen`. - `bytecode`: the contract's bytecode. - `walletIndex`: the index of the wallets generated by [`walletsConfig`](./test-node-options.md#walletsconfig) that you want to deploy the contract with. - `options`: options for [contract deployment](../contracts/deploying-contracts.md#4-deploying-the-contract) that get passed to the [`ContractFactory.deploy`](../../api/Contract/ContractFactory.md#deploy) method. diff --git a/packages/contract/src/test-utils/launch-test-node.ts b/packages/contract/src/test-utils/launch-test-node.ts index 20a0aab9d84..a9e90d2cb50 100644 --- a/packages/contract/src/test-utils/launch-test-node.ts +++ b/packages/contract/src/test-utils/launch-test-node.ts @@ -18,7 +18,7 @@ export interface DeployableContractFactory { export interface DeployContractConfig { /** - * Contract deployer object compatible with factories outputted by `pnpm fuels typegen`. + * Contract factory instance outputted by `pnpm fuels typegen`. */ factory: DeployableContractFactory; /** From 915eafb42b70105f40f2cf9e68199fb186d2d19d Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Mon, 5 Aug 2024 07:07:13 -0300 Subject: [PATCH 83/95] Adjusting wording --- packages/contract/src/test-utils/launch-test-node.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/contract/src/test-utils/launch-test-node.ts b/packages/contract/src/test-utils/launch-test-node.ts index a9e90d2cb50..5cc4fe34949 100644 --- a/packages/contract/src/test-utils/launch-test-node.ts +++ b/packages/contract/src/test-utils/launch-test-node.ts @@ -18,7 +18,7 @@ export interface DeployableContractFactory { export interface DeployContractConfig { /** - * Contract factory instance outputted by `pnpm fuels typegen`. + * Contract factory class outputted by `pnpm fuels typegen`. */ factory: DeployableContractFactory; /** From f232d159b8c3681162c06e60a96c5fdcd6c3aa15 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Mon, 5 Aug 2024 07:08:36 -0300 Subject: [PATCH 84/95] Removing lonely context line --- apps/demo-typegen/src/demo.test.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/demo-typegen/src/demo.test.ts b/apps/demo-typegen/src/demo.test.ts index 47f20782a4c..52172c7672f 100644 --- a/apps/demo-typegen/src/demo.test.ts +++ b/apps/demo-typegen/src/demo.test.ts @@ -73,7 +73,6 @@ describe('ExampleContract', () => { // #region typegen-demo-contract-factory-deploy // #context import { DemoContract } from './typegend'; - // #context // Deploy const deploy = await DemoContractFactory.deploy(wallet); From eb0a6cd271bca87658856aa7d44bcebdfdb6cd92 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Mon, 5 Aug 2024 07:13:48 -0300 Subject: [PATCH 85/95] Adding missing affected packages --- .changeset/empty-lemons-ring.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.changeset/empty-lemons-ring.md b/.changeset/empty-lemons-ring.md index 5dded68af4b..72ebc51d24e 100644 --- a/.changeset/empty-lemons-ring.md +++ b/.changeset/empty-lemons-ring.md @@ -1,7 +1,9 @@ --- "@fuel-ts/abi-typegen": minor +"@fuel-ts/account": minor "@fuel-ts/contract": minor "create-fuels": minor +"fuels": minor --- feat!: prettify `typegen` api From cda9913f5eaeb92fca96f5646f5dc48963395076 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Mon, 5 Aug 2024 07:59:33 -0300 Subject: [PATCH 86/95] Update apps/docs/src/guide/testing/test-node-options.md Co-authored-by: Peter Smith --- apps/docs/src/guide/testing/test-node-options.md | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/docs/src/guide/testing/test-node-options.md b/apps/docs/src/guide/testing/test-node-options.md index f182ed7d7cc..25c26e9dffb 100644 --- a/apps/docs/src/guide/testing/test-node-options.md +++ b/apps/docs/src/guide/testing/test-node-options.md @@ -41,7 +41,6 @@ It can also be used standalone and passed into the initial state of the chain vi Used to deploy contracts on the node the `launchTestNode` utility launches. It's an array of objects with the following properties: - `factory`: contract factory class outputted by `pnpm fuels typegen`. -- `bytecode`: the contract's bytecode. - `walletIndex`: the index of the wallets generated by [`walletsConfig`](./test-node-options.md#walletsconfig) that you want to deploy the contract with. - `options`: options for [contract deployment](../contracts/deploying-contracts.md#4-deploying-the-contract) that get passed to the [`ContractFactory.deploy`](../../api/Contract/ContractFactory.md#deploy) method. From 71538e4216aeecaf6c04894d700b8d73de98ae33 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Mon, 5 Aug 2024 19:36:41 -0300 Subject: [PATCH 87/95] Standardizing contextual import paths --- apps/demo-typegen/src/demo.test.ts | 12 ++++++------ .../src/guide/create-fuels/decrement_counter.test.ts | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/apps/demo-typegen/src/demo.test.ts b/apps/demo-typegen/src/demo.test.ts index 52172c7672f..b1e2d5276f2 100644 --- a/apps/demo-typegen/src/demo.test.ts +++ b/apps/demo-typegen/src/demo.test.ts @@ -22,7 +22,7 @@ describe('ExampleContract', () => { } = launched; // #region typegen-demo-contract-storage-slots - // #context import { DemoContractFactory } from './typegend'; + // #context import { DemoContractFactory } from './sway-programs-api'; const { waitForResult } = await DemoContractFactory.deploy(wallet, { storageSlots, @@ -55,7 +55,7 @@ describe('ExampleContract', () => { // You can also make a call using the factory // #region typegen-demo-contract-factory-connect - // #context import { DemoContract } from './typegend'; + // #context import { DemoContract } from './sway-programs-api'; const contractInstance = new DemoContract(contractId, wallet); const call2 = await contractInstance.functions.return_input(1337).call(); @@ -72,7 +72,7 @@ describe('ExampleContract', () => { } = launched; // #region typegen-demo-contract-factory-deploy - // #context import { DemoContract } from './typegend'; + // #context import { DemoContract } from './sway-programs-api'; // Deploy const deploy = await DemoContractFactory.deploy(wallet); @@ -135,7 +135,7 @@ test('Example script', async () => { } = launched; // #region typegen-demo-script - // #context import { Script } from './typegend'; + // #context import { Script } from './sway-programs-api'; const script = new DemoScript(wallet); const { waitForResult } = await script.functions.main().call(); @@ -146,8 +146,8 @@ test('Example script', async () => { test('Example predicate', async () => { // #region typegen-demo-predicate - // #context import type { PredicateInputs } from './typegend'; - // #context import { Predicate } from './typegend'; + // #context import type { PredicateInputs } from './sway-programs-api'; + // #context import { Predicate } from './sway-programs-api'; // In this exchange, we are first transferring some coins to the predicate using launched = await launchTestNode(); diff --git a/apps/docs-snippets/src/guide/create-fuels/decrement_counter.test.ts b/apps/docs-snippets/src/guide/create-fuels/decrement_counter.test.ts index e43cb271872..90b255b1f0a 100644 --- a/apps/docs-snippets/src/guide/create-fuels/decrement_counter.test.ts +++ b/apps/docs-snippets/src/guide/create-fuels/decrement_counter.test.ts @@ -9,7 +9,7 @@ import { CounterFactory } from '../../../test/typegen'; */ describe('Counter Contract', () => { // #region decrement-counter - // #context import { Counter } from './typegend'; + // #context import { Counter } from './sway-programs-api'; test('calls the decrement_counter function', async () => { // First, we'll launch a test node, passing the contract factory and bytecode. This will deploy the contract From ac0a096a273da7bfeedbab35b8f725064ded52b7 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Mon, 5 Aug 2024 20:05:11 -0300 Subject: [PATCH 88/95] Fixing class names --- .../src/predicate/predicate-configurables.test.ts | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts b/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts index 06a313a1eb1..558c39c6381 100644 --- a/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts @@ -270,8 +270,8 @@ describe('Predicate', () => { await expectToThrowFuelError( () => new Predicate({ - bytecode: PredicateTrueAbi__factory.bin, - abi: PredicateTrueAbi__factory.abi, + bytecode: PredicateTrue.bin, + abi: PredicateTrue.abi, provider, inputData: ['NADA'], configurableConstants: { @@ -283,7 +283,6 @@ describe('Predicate', () => { 'Error setting configurable constants: Predicate has no configurable constants to be set.' ) ); - }); it('throws when setting invalid configurable', async () => { @@ -294,8 +293,8 @@ describe('Predicate', () => { await expectToThrowFuelError( () => new Predicate({ - bytecode: PredicateWithConfigurableAbi__factory.bin, - abi: PredicateWithConfigurableAbi__factory.abi, + bytecode: PredicateWithConfigurable.bin, + abi: PredicateWithConfigurable.abi, provider, inputData: ['NADA'], configurableConstants: { @@ -307,7 +306,6 @@ describe('Predicate', () => { `Error setting configurable constants: No configurable constant named 'NOPE' found in the Predicate.` ) ); - }); it('throws when setting a configurable with no ABI', async () => { @@ -330,7 +328,6 @@ describe('Predicate', () => { `Error setting configurable constants: Cannot validate configurable constants because the Predicate was instantiated without a JSON ABI.` ) ); - }); }); }); From 18cb3585a1b23af888e5476e575025e12e200da4 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Mon, 5 Aug 2024 20:06:15 -0300 Subject: [PATCH 89/95] Adjusting Predicate constructor signature --- .../src/predicate/predicate-configurables.test.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts b/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts index 558c39c6381..5d64470367a 100644 --- a/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts @@ -273,7 +273,7 @@ describe('Predicate', () => { bytecode: PredicateTrue.bin, abi: PredicateTrue.abi, provider, - inputData: ['NADA'], + data: ['NADA'], configurableConstants: { constant: 'NADA', }, @@ -296,7 +296,7 @@ describe('Predicate', () => { bytecode: PredicateWithConfigurable.bin, abi: PredicateWithConfigurable.abi, provider, - inputData: ['NADA'], + data: ['NADA'], configurableConstants: { NOPE: 'NADA', }, @@ -318,7 +318,7 @@ describe('Predicate', () => { new Predicate({ bytecode: PredicateWithConfigurableAbi__factory.bin, provider, - inputData: ['NADA'], + data: ['NADA'], configurableConstants: { NOPE: 'NADA', }, From b360c42df92906f738cf0bdfa71ecd874bb48fdc Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Mon, 5 Aug 2024 20:09:30 -0300 Subject: [PATCH 90/95] Adjusting class and property names --- .../src/predicate/predicate-configurables.test.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts b/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts index 5d64470367a..e50a9da0905 100644 --- a/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts +++ b/packages/fuel-gauge/src/predicate/predicate-configurables.test.ts @@ -270,7 +270,7 @@ describe('Predicate', () => { await expectToThrowFuelError( () => new Predicate({ - bytecode: PredicateTrue.bin, + bytecode: PredicateTrue.bytecode, abi: PredicateTrue.abi, provider, data: ['NADA'], @@ -293,7 +293,7 @@ describe('Predicate', () => { await expectToThrowFuelError( () => new Predicate({ - bytecode: PredicateWithConfigurable.bin, + bytecode: PredicateWithConfigurable.bytecode, abi: PredicateWithConfigurable.abi, provider, data: ['NADA'], @@ -316,7 +316,7 @@ describe('Predicate', () => { await expectToThrowFuelError( () => new Predicate({ - bytecode: PredicateWithConfigurableAbi__factory.bin, + bytecode: PredicateWithConfigurable.bytecode, provider, data: ['NADA'], configurableConstants: { From 585577621a42f0c5f109819ed69eb61c8c4a198a Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Tue, 6 Aug 2024 08:32:50 -0300 Subject: [PATCH 91/95] Updating class names, file paths and constructor signatures --- .../predicates/predicate-custom-transactions.test.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/docs-snippets/src/guide/predicates/predicate-custom-transactions.test.ts b/apps/docs-snippets/src/guide/predicates/predicate-custom-transactions.test.ts index 58cd1094e04..42e532b8402 100644 --- a/apps/docs-snippets/src/guide/predicates/predicate-custom-transactions.test.ts +++ b/apps/docs-snippets/src/guide/predicates/predicate-custom-transactions.test.ts @@ -2,8 +2,8 @@ import { Provider, ScriptTransactionRequest, Wallet, TESTNET_NETWORK_URL } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; -import { ConfigurablePinAbi__factory as PredicateFactory } from '../../../test/typegen'; -import type { ConfigurablePinAbiInputs as PredicateInputs } from '../../../test/typegen'; +import { ConfigurablePin as PredicateFactory } from '../../../test/typegen'; +import type { ConfigurablePinInputs as PredicateInputs } from '../../../test/typegen/predicates/ConfigurablePin'; /** * @group node @@ -42,8 +42,8 @@ describe('Predicate Custom Transactions', () => { // Instantiate the predicate using valid predicate data, aka the pin we need // to send the funds to the receiver - const predicateData: PredicateInputs = [1337]; - const predicate = PredicateFactory.createInstance(provider, predicateData); + const data: PredicateInputs = [1337]; + const predicate = new PredicateFactory({ provider, data }); // Fund the predicate, so that we can send these funds via predicate logic // to the receiver From 55fd45194627bd45f6fceddc8523205dfdac09a4 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Tue, 6 Aug 2024 08:36:12 -0300 Subject: [PATCH 92/95] Tyding up unused variables --- .../guide/predicates/predicate-custom-transactions.test.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/apps/docs-snippets/src/guide/predicates/predicate-custom-transactions.test.ts b/apps/docs-snippets/src/guide/predicates/predicate-custom-transactions.test.ts index 42e532b8402..79f11550b2e 100644 --- a/apps/docs-snippets/src/guide/predicates/predicate-custom-transactions.test.ts +++ b/apps/docs-snippets/src/guide/predicates/predicate-custom-transactions.test.ts @@ -1,5 +1,4 @@ -// eslint-disable-next-line @typescript-eslint/no-unused-vars -import { Provider, ScriptTransactionRequest, Wallet, TESTNET_NETWORK_URL } from 'fuels'; +import { Provider, ScriptTransactionRequest, Wallet } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; import { ConfigurablePin as PredicateFactory } from '../../../test/typegen'; @@ -19,7 +18,7 @@ describe('Predicate Custom Transactions', () => { const SENDER_PVT_KEY = testSender.privateKey; const RECEIVER_ADDRESS = testReceiver.address; - // eslint-disable-next-line @typescript-eslint/no-shadow + const TESTNET_NETWORK_URL = testProvider.url; await Provider.create(TESTNET_NETWORK_URL); From ea2a2c35d4ce787225e1f754befae9aee1b93dc0 Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Tue, 6 Aug 2024 08:36:53 -0300 Subject: [PATCH 93/95] Removing redundant await --- .../src/guide/predicates/predicate-custom-transactions.test.ts | 3 --- 1 file changed, 3 deletions(-) diff --git a/apps/docs-snippets/src/guide/predicates/predicate-custom-transactions.test.ts b/apps/docs-snippets/src/guide/predicates/predicate-custom-transactions.test.ts index 79f11550b2e..57b104b9f02 100644 --- a/apps/docs-snippets/src/guide/predicates/predicate-custom-transactions.test.ts +++ b/apps/docs-snippets/src/guide/predicates/predicate-custom-transactions.test.ts @@ -18,11 +18,8 @@ describe('Predicate Custom Transactions', () => { const SENDER_PVT_KEY = testSender.privateKey; const RECEIVER_ADDRESS = testReceiver.address; - const TESTNET_NETWORK_URL = testProvider.url; - await Provider.create(TESTNET_NETWORK_URL); - const initialRecieverBalance = await testReceiver.getBalance(testProvider.getBaseAssetId()); // #region predicate-custom-transaction From 71e1beb4c70239226467b088b5a735aa16464bcb Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Tue, 6 Aug 2024 08:42:51 -0300 Subject: [PATCH 94/95] Making docs happy --- .../src/guide/predicates/predicate-custom-transactions.test.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/docs-snippets/src/guide/predicates/predicate-custom-transactions.test.ts b/apps/docs-snippets/src/guide/predicates/predicate-custom-transactions.test.ts index 57b104b9f02..7ec6ed860fb 100644 --- a/apps/docs-snippets/src/guide/predicates/predicate-custom-transactions.test.ts +++ b/apps/docs-snippets/src/guide/predicates/predicate-custom-transactions.test.ts @@ -1,4 +1,5 @@ -import { Provider, ScriptTransactionRequest, Wallet } from 'fuels'; +// eslint-disable-next-line @typescript-eslint/no-unused-vars +import { Provider, ScriptTransactionRequest, Wallet, TESTNET_NETWORK_URL as _ } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; import { ConfigurablePin as PredicateFactory } from '../../../test/typegen'; From 4896a62dfacb9b86904f1ca7d8402b6dc8d6649b Mon Sep 17 00:00:00 2001 From: Anderson Arboleya Date: Tue, 6 Aug 2024 08:51:32 -0300 Subject: [PATCH 95/95] Unfixing what wasn't broken --- .../src/guide/predicates/predicate-custom-transactions.test.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/docs-snippets/src/guide/predicates/predicate-custom-transactions.test.ts b/apps/docs-snippets/src/guide/predicates/predicate-custom-transactions.test.ts index 7ec6ed860fb..26af071faea 100644 --- a/apps/docs-snippets/src/guide/predicates/predicate-custom-transactions.test.ts +++ b/apps/docs-snippets/src/guide/predicates/predicate-custom-transactions.test.ts @@ -1,5 +1,5 @@ // eslint-disable-next-line @typescript-eslint/no-unused-vars -import { Provider, ScriptTransactionRequest, Wallet, TESTNET_NETWORK_URL as _ } from 'fuels'; +import { Provider, ScriptTransactionRequest, Wallet, TESTNET_NETWORK_URL } from 'fuels'; import { launchTestNode } from 'fuels/test-utils'; import { ConfigurablePin as PredicateFactory } from '../../../test/typegen'; @@ -19,6 +19,7 @@ describe('Predicate Custom Transactions', () => { const SENDER_PVT_KEY = testSender.privateKey; const RECEIVER_ADDRESS = testReceiver.address; + // eslint-disable-next-line @typescript-eslint/no-shadow const TESTNET_NETWORK_URL = testProvider.url; const initialRecieverBalance = await testReceiver.getBalance(testProvider.getBaseAssetId());