/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import { Address, Contract, ContractState, TestContractResult, HexString, ContractFactory, EventSubscribeOptions, EventSubscription, CallContractParams, CallContractResult, TestContractParams, ContractEvent, subscribeContractEvent, subscribeContractEvents, testMethod, callMethod, multicallMethods, fetchContractState, Asset, ContractInstance, getContractEventsCurrentCount, TestContractParamsWithoutMaps, TestContractResultWithoutMaps, SignExecuteContractMethodParams, SignExecuteScriptTxResult, signExecuteMethod, addStdIdToFields, encodeContractFields, Narrow, } from "@alephium/web3"; import { default as TestDynamicArrayByteVec32ContractJson } from "../utils/TestDynamicArrayByteVec32.ral.json"; import { getContractByCodeHash, registerContract } from "./contracts"; import * as types from "./types"; // Custom types for the contract export namespace TestDynamicArrayByteVec32Types { export type State = Omit, "fields">; export interface CallMethodTable { get: { params: CallContractParams<{ array: HexString; index: bigint }>; result: CallContractResult; }; find: { params: CallContractParams<{ array: HexString; value: HexString }>; result: CallContractResult; }; remove: { params: CallContractParams<{ array: HexString; value: HexString }>; result: CallContractResult; }; push: { params: CallContractParams<{ array: HexString; value: HexString }>; result: CallContractResult; }; removeAt: { params: CallContractParams<{ array: HexString; index: bigint }>; result: CallContractResult; }; size: { params: CallContractParams<{ array: HexString }>; result: CallContractResult; }; empty: { params: Omit, "args">; result: CallContractResult; }; } export type CallMethodParams = CallMethodTable[T]["params"]; export type CallMethodResult = CallMethodTable[T]["result"]; export type MultiCallParams = Partial<{ [Name in keyof CallMethodTable]: CallMethodTable[Name]["params"]; }>; export type MultiCallResults = { [MaybeName in keyof T]: MaybeName extends keyof CallMethodTable ? CallMethodTable[MaybeName]["result"] : undefined; }; export type MulticallReturnType = { [index in keyof Callss]: MultiCallResults; }; export interface SignExecuteMethodTable { get: { params: SignExecuteContractMethodParams<{ array: HexString; index: bigint; }>; result: SignExecuteScriptTxResult; }; find: { params: SignExecuteContractMethodParams<{ array: HexString; value: HexString; }>; result: SignExecuteScriptTxResult; }; remove: { params: SignExecuteContractMethodParams<{ array: HexString; value: HexString; }>; result: SignExecuteScriptTxResult; }; push: { params: SignExecuteContractMethodParams<{ array: HexString; value: HexString; }>; result: SignExecuteScriptTxResult; }; removeAt: { params: SignExecuteContractMethodParams<{ array: HexString; index: bigint; }>; result: SignExecuteScriptTxResult; }; size: { params: SignExecuteContractMethodParams<{ array: HexString }>; result: SignExecuteScriptTxResult; }; empty: { params: Omit, "args">; result: SignExecuteScriptTxResult; }; } export type SignExecuteMethodParams = SignExecuteMethodTable[T]["params"]; export type SignExecuteMethodResult = SignExecuteMethodTable[T]["result"]; } class Factory extends ContractFactory { encodeFields() { return encodeContractFields({}, this.contract.fieldsSig, types.AllStructs); } consts = { IntByteLength: BigInt("32"), ErrorCode: { InvalidArrayLength: BigInt("550"), IndexOutOfBound: BigInt("551"), InvalidByteVecLength: BigInt("552"), }, }; at(address: string): TestDynamicArrayByteVec32Instance { return new TestDynamicArrayByteVec32Instance(address); } tests = { get: async ( params: Omit< TestContractParamsWithoutMaps< never, { array: HexString; index: bigint } >, "initialFields" > ): Promise> => { return testMethod(this, "get", params, getContractByCodeHash); }, find: async ( params: Omit< TestContractParamsWithoutMaps< never, { array: HexString; value: HexString } >, "initialFields" > ): Promise> => { return testMethod(this, "find", params, getContractByCodeHash); }, remove: async ( params: Omit< TestContractParamsWithoutMaps< never, { array: HexString; value: HexString } >, "initialFields" > ): Promise> => { return testMethod(this, "remove", params, getContractByCodeHash); }, push: async ( params: Omit< TestContractParamsWithoutMaps< never, { array: HexString; value: HexString } >, "initialFields" > ): Promise> => { return testMethod(this, "push", params, getContractByCodeHash); }, removeAt: async ( params: Omit< TestContractParamsWithoutMaps< never, { array: HexString; index: bigint } >, "initialFields" > ): Promise> => { return testMethod(this, "removeAt", params, getContractByCodeHash); }, size: async ( params: Omit< TestContractParamsWithoutMaps, "initialFields" > ): Promise> => { return testMethod(this, "size", params, getContractByCodeHash); }, empty: async ( params?: Omit< TestContractParamsWithoutMaps, "args" | "initialFields" > ): Promise> => { return testMethod( this, "empty", params === undefined ? {} : params, getContractByCodeHash ); }, }; stateForTest(initFields: {}, asset?: Asset, address?: string) { return this.stateForTest_(initFields, asset, address, undefined); } } // Use this object to test and deploy the contract export const TestDynamicArrayByteVec32 = new Factory( Contract.fromJson( TestDynamicArrayByteVec32ContractJson, "", "594861ab1850f3d1872ee687c87ddfeca8746bfe5b9ade07fabc4ca27c56661c", types.AllStructs ) ); registerContract(TestDynamicArrayByteVec32); // Use this class to interact with the blockchain export class TestDynamicArrayByteVec32Instance extends ContractInstance { constructor(address: Address) { super(address); } async fetchState(): Promise { return fetchContractState(TestDynamicArrayByteVec32, this); } view = { get: async ( params: TestDynamicArrayByteVec32Types.CallMethodParams<"get"> ): Promise> => { return callMethod( TestDynamicArrayByteVec32, this, "get", params, getContractByCodeHash ); }, find: async ( params: TestDynamicArrayByteVec32Types.CallMethodParams<"find"> ): Promise> => { return callMethod( TestDynamicArrayByteVec32, this, "find", params, getContractByCodeHash ); }, remove: async ( params: TestDynamicArrayByteVec32Types.CallMethodParams<"remove"> ): Promise> => { return callMethod( TestDynamicArrayByteVec32, this, "remove", params, getContractByCodeHash ); }, push: async ( params: TestDynamicArrayByteVec32Types.CallMethodParams<"push"> ): Promise> => { return callMethod( TestDynamicArrayByteVec32, this, "push", params, getContractByCodeHash ); }, removeAt: async ( params: TestDynamicArrayByteVec32Types.CallMethodParams<"removeAt"> ): Promise> => { return callMethod( TestDynamicArrayByteVec32, this, "removeAt", params, getContractByCodeHash ); }, size: async ( params: TestDynamicArrayByteVec32Types.CallMethodParams<"size"> ): Promise> => { return callMethod( TestDynamicArrayByteVec32, this, "size", params, getContractByCodeHash ); }, empty: async ( params?: TestDynamicArrayByteVec32Types.CallMethodParams<"empty"> ): Promise> => { return callMethod( TestDynamicArrayByteVec32, this, "empty", params === undefined ? {} : params, getContractByCodeHash ); }, }; transact = { get: async ( params: TestDynamicArrayByteVec32Types.SignExecuteMethodParams<"get"> ): Promise< TestDynamicArrayByteVec32Types.SignExecuteMethodResult<"get"> > => { return signExecuteMethod(TestDynamicArrayByteVec32, this, "get", params); }, find: async ( params: TestDynamicArrayByteVec32Types.SignExecuteMethodParams<"find"> ): Promise< TestDynamicArrayByteVec32Types.SignExecuteMethodResult<"find"> > => { return signExecuteMethod(TestDynamicArrayByteVec32, this, "find", params); }, remove: async ( params: TestDynamicArrayByteVec32Types.SignExecuteMethodParams<"remove"> ): Promise< TestDynamicArrayByteVec32Types.SignExecuteMethodResult<"remove"> > => { return signExecuteMethod( TestDynamicArrayByteVec32, this, "remove", params ); }, push: async ( params: TestDynamicArrayByteVec32Types.SignExecuteMethodParams<"push"> ): Promise< TestDynamicArrayByteVec32Types.SignExecuteMethodResult<"push"> > => { return signExecuteMethod(TestDynamicArrayByteVec32, this, "push", params); }, removeAt: async ( params: TestDynamicArrayByteVec32Types.SignExecuteMethodParams<"removeAt"> ): Promise< TestDynamicArrayByteVec32Types.SignExecuteMethodResult<"removeAt"> > => { return signExecuteMethod( TestDynamicArrayByteVec32, this, "removeAt", params ); }, size: async ( params: TestDynamicArrayByteVec32Types.SignExecuteMethodParams<"size"> ): Promise< TestDynamicArrayByteVec32Types.SignExecuteMethodResult<"size"> > => { return signExecuteMethod(TestDynamicArrayByteVec32, this, "size", params); }, empty: async ( params: TestDynamicArrayByteVec32Types.SignExecuteMethodParams<"empty"> ): Promise< TestDynamicArrayByteVec32Types.SignExecuteMethodResult<"empty"> > => { return signExecuteMethod( TestDynamicArrayByteVec32, this, "empty", params ); }, }; async multicall( calls: Calls ): Promise>; async multicall< Callss extends TestDynamicArrayByteVec32Types.MultiCallParams[] >( callss: Narrow ): Promise>; async multicall< Callss extends | TestDynamicArrayByteVec32Types.MultiCallParams | TestDynamicArrayByteVec32Types.MultiCallParams[] >(callss: Callss): Promise { return await multicallMethods( TestDynamicArrayByteVec32, this, callss, getContractByCodeHash ); } }