@@ -20,19 +20,89 @@ import type {
20
20
BN,
21
21
} from 'fuels';
22
22
23
+ import type { Option, Enum, Vec } from "./common";
24
+
25
+ export type MyEnumInput = Enum<{ Checked: [], Pending: [] }>;
26
+ export type MyEnumOutput = MyEnumInput;
27
+
28
+ export type MyStructInput = { x: BigNumberish, y: BigNumberish, state: MyEnumInput };
29
+ export type MyStructOutput = { x: number, y: number, state: MyEnumOutput };
30
+ export type StructWithMultiOptionInput = { multiple: [Option<BigNumberish >, Option<BigNumberish >, Option<BigNumberish >, Option<BigNumberish >, Option<BigNumberish >] };
31
+ export type StructWithMultiOptionOutput = { multiple: [Option<number >, Option<number >, Option<number >, Option<number >, Option<number >] };
32
+
23
33
interface MyContractAbiInterface extends Interface {
24
34
functions: {
25
- main: FunctionFragment;
35
+ types_array: FunctionFragment;
36
+ types_b256: FunctionFragment;
37
+ types_bool: FunctionFragment;
38
+ types_enum: FunctionFragment;
39
+ types_option: FunctionFragment;
40
+ types_option_geo: FunctionFragment;
41
+ types_str: FunctionFragment;
42
+ types_struct: FunctionFragment;
43
+ types_tuple: FunctionFragment;
44
+ types_u16: FunctionFragment;
45
+ types_u32: FunctionFragment;
46
+ types_u64: FunctionFragment;
47
+ types_u8: FunctionFragment;
48
+ types_vector_geo: FunctionFragment;
49
+ types_vector_option: FunctionFragment;
50
+ types_vector_u8: FunctionFragment;
26
51
};
27
52
28
- encodeFunctionData(functionFragment: 'main', values: [string, string]): Uint8Array;
53
+ encodeFunctionData(functionFragment: 'types_array', values: [[BigNumberish, BigNumberish, BigNumberish]]): Uint8Array;
54
+ encodeFunctionData(functionFragment: 'types_b256', values: [string]): Uint8Array;
55
+ encodeFunctionData(functionFragment: 'types_bool', values: [boolean]): Uint8Array;
56
+ encodeFunctionData(functionFragment: 'types_enum', values: [MyEnumInput]): Uint8Array;
57
+ encodeFunctionData(functionFragment: 'types_option', values: [Option<BigNumberish >]): Uint8Array;
58
+ encodeFunctionData(functionFragment: 'types_option_geo', values: [Option<MyStructInput >]): Uint8Array;
59
+ encodeFunctionData(functionFragment: 'types_str', values: [string]): Uint8Array;
60
+ encodeFunctionData(functionFragment: 'types_struct', values: [MyStructInput]): Uint8Array;
61
+ encodeFunctionData(functionFragment: 'types_tuple', values: [[BigNumberish, BigNumberish, BigNumberish]]): Uint8Array;
62
+ encodeFunctionData(functionFragment: 'types_u16', values: [BigNumberish]): Uint8Array;
63
+ encodeFunctionData(functionFragment: 'types_u32', values: [BigNumberish]): Uint8Array;
64
+ encodeFunctionData(functionFragment: 'types_u64', values: [BigNumberish]): Uint8Array;
65
+ encodeFunctionData(functionFragment: 'types_u8', values: [BigNumberish]): Uint8Array;
66
+ encodeFunctionData(functionFragment: 'types_vector_geo', values: [Vec<MyStructInput >]): Uint8Array;
67
+ encodeFunctionData(functionFragment: 'types_vector_option', values: [Vec<StructWithMultiOptionInput >]): Uint8Array;
68
+ encodeFunctionData(functionFragment: 'types_vector_u8', values: [Vec<BigNumberish >]): Uint8Array;
29
69
30
- decodeFunctionData(functionFragment: 'main', data: BytesLike): DecodedValue;
70
+ decodeFunctionData(functionFragment: 'types_array', data: BytesLike): DecodedValue;
71
+ decodeFunctionData(functionFragment: 'types_b256', data: BytesLike): DecodedValue;
72
+ decodeFunctionData(functionFragment: 'types_bool', data: BytesLike): DecodedValue;
73
+ decodeFunctionData(functionFragment: 'types_enum', data: BytesLike): DecodedValue;
74
+ decodeFunctionData(functionFragment: 'types_option', data: BytesLike): DecodedValue;
75
+ decodeFunctionData(functionFragment: 'types_option_geo', data: BytesLike): DecodedValue;
76
+ decodeFunctionData(functionFragment: 'types_str', data: BytesLike): DecodedValue;
77
+ decodeFunctionData(functionFragment: 'types_struct', data: BytesLike): DecodedValue;
78
+ decodeFunctionData(functionFragment: 'types_tuple', data: BytesLike): DecodedValue;
79
+ decodeFunctionData(functionFragment: 'types_u16', data: BytesLike): DecodedValue;
80
+ decodeFunctionData(functionFragment: 'types_u32', data: BytesLike): DecodedValue;
81
+ decodeFunctionData(functionFragment: 'types_u64', data: BytesLike): DecodedValue;
82
+ decodeFunctionData(functionFragment: 'types_u8', data: BytesLike): DecodedValue;
83
+ decodeFunctionData(functionFragment: 'types_vector_geo', data: BytesLike): DecodedValue;
84
+ decodeFunctionData(functionFragment: 'types_vector_option', data: BytesLike): DecodedValue;
85
+ decodeFunctionData(functionFragment: 'types_vector_u8', data: BytesLike): DecodedValue;
31
86
}
32
87
33
88
export class MyContractAbi extends Contract {
34
89
interface: MyContractAbiInterface;
35
90
functions: {
36
- main: InvokeFunction< [x: string, y: string], boolean>;
91
+ types_array: InvokeFunction< [x: [BigNumberish, BigNumberish, BigNumberish]], [number, number, number]>;
92
+ types_b256: InvokeFunction< [x: string], string>;
93
+ types_bool: InvokeFunction< [x: boolean], boolean>;
94
+ types_enum: InvokeFunction< [x: MyEnumInput], MyEnumOutput>;
95
+ types_option: InvokeFunction< [x: Option<BigNumberish >], Option<number >>;
96
+ types_option_geo: InvokeFunction< [x: Option<MyStructInput >], Option<MyStructOutput >>;
97
+ types_str: InvokeFunction< [x: string], string>;
98
+ types_struct: InvokeFunction< [x: MyStructInput], MyStructOutput>;
99
+ types_tuple: InvokeFunction< [x: [BigNumberish, BigNumberish, BigNumberish]], [number, number, number]>;
100
+ types_u16: InvokeFunction< [x: BigNumberish], number>;
101
+ types_u32: InvokeFunction< [x: BigNumberish], number>;
102
+ types_u64: InvokeFunction< [x: BigNumberish], BN>;
103
+ types_u8: InvokeFunction< [x: BigNumberish], number>;
104
+ types_vector_geo: InvokeFunction< [x: Vec<MyStructInput >], Vec<MyStructOutput >>;
105
+ types_vector_option: InvokeFunction< [x: Vec<StructWithMultiOptionInput >], Vec<StructWithMultiOptionOutput >>;
106
+ types_vector_u8: InvokeFunction< [x: Vec<BigNumberish >], Vec<number >>;
37
107
};
38
108
}
0 commit comments