@coti-io/coti-contracts 1.0.9 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/contracts/mocks/utils/mpc/Arithmetic128BitTestsContract.sol +260 -0
  2. package/contracts/mocks/utils/mpc/Arithmetic256BitTestsContract.sol +264 -0
  3. package/contracts/mocks/utils/mpc/Bitwise128BitTestsContract.sol +91 -0
  4. package/contracts/mocks/utils/mpc/Bitwise256BitTestsContract.sol +91 -0
  5. package/contracts/mocks/utils/mpc/Comparison128BitTestsContract.sol +158 -0
  6. package/contracts/mocks/utils/mpc/Comparison256BitTestsContract.sol +158 -0
  7. package/contracts/mocks/utils/mpc/Miscellaneous128BitTestsContract.sol +185 -0
  8. package/contracts/mocks/utils/mpc/Miscellaneous256BitTestsContract.sol +190 -0
  9. package/contracts/utils/mpc/MpcCore.sol +2804 -180
  10. package/package.json +1 -1
  11. package/test/token/PrivateERC20/PrivateERC20.test.ts +3 -3
  12. package/test/utils/mpc/Unsigned128BitIntegers.test.ts +945 -0
  13. package/test/utils/mpc/Unsigned256BitIntegers.test.ts +1124 -0
  14. package/test/utils/mpc/helpers.ts +77 -0
  15. package/typechain-types/contracts/mocks/utils/mpc/Arithmetic128BitTestsContract.ts +341 -0
  16. package/typechain-types/contracts/mocks/utils/mpc/Arithmetic256BitTestsContract.ts +347 -0
  17. package/typechain-types/contracts/mocks/utils/mpc/Bitwise128BitTestsContract.ts +186 -0
  18. package/typechain-types/contracts/mocks/utils/mpc/Bitwise256BitTestsContract.ts +186 -0
  19. package/typechain-types/contracts/mocks/utils/mpc/Comparison128BitTestsContract.ts +260 -0
  20. package/typechain-types/contracts/mocks/utils/mpc/Comparison256BitTestsContract.ts +260 -0
  21. package/typechain-types/contracts/mocks/utils/mpc/Miscellaneous128BitTestsContract.ts +302 -0
  22. package/typechain-types/contracts/mocks/utils/mpc/Miscellaneous256BitTestsContract.ts +322 -0
  23. package/typechain-types/contracts/mocks/utils/mpc/index.ts +8 -0
  24. package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic128BitTestsContract__factory.ts +349 -0
  25. package/typechain-types/factories/contracts/mocks/utils/mpc/Arithmetic256BitTestsContract__factory.ts +364 -0
  26. package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise128BitTestsContract__factory.ts +182 -0
  27. package/typechain-types/factories/contracts/mocks/utils/mpc/Bitwise256BitTestsContract__factory.ts +182 -0
  28. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison128BitTestsContract__factory.ts +255 -0
  29. package/typechain-types/factories/contracts/mocks/utils/mpc/Comparison256BitTestsContract__factory.ts +255 -0
  30. package/typechain-types/factories/contracts/mocks/utils/mpc/Miscellaneous128BitTestsContract__factory.ts +332 -0
  31. package/typechain-types/factories/contracts/mocks/utils/mpc/Miscellaneous256BitTestsContract__factory.ts +380 -0
  32. package/typechain-types/factories/contracts/mocks/utils/mpc/index.ts +8 -0
  33. package/typechain-types/hardhat.d.ts +144 -0
  34. package/typechain-types/index.ts +16 -0
  35. package/contracts/package.json +0 -11
@@ -0,0 +1,182 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import {
5
+ Contract,
6
+ ContractFactory,
7
+ ContractTransactionResponse,
8
+ Interface,
9
+ } from "ethers";
10
+ import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers";
11
+ import type { NonPayableOverrides } from "../../../../../common";
12
+ import type {
13
+ Bitwise256BitTestsContract,
14
+ Bitwise256BitTestsContractInterface,
15
+ } from "../../../../../contracts/mocks/utils/mpc/Bitwise256BitTestsContract";
16
+
17
+ const _abi = [
18
+ {
19
+ inputs: [
20
+ {
21
+ internalType: "uint256[]",
22
+ name: "a",
23
+ type: "uint256[]",
24
+ },
25
+ {
26
+ internalType: "uint256[]",
27
+ name: "b",
28
+ type: "uint256[]",
29
+ },
30
+ ],
31
+ name: "andTest",
32
+ outputs: [],
33
+ stateMutability: "nonpayable",
34
+ type: "function",
35
+ },
36
+ {
37
+ inputs: [
38
+ {
39
+ internalType: "uint256",
40
+ name: "",
41
+ type: "uint256",
42
+ },
43
+ ],
44
+ name: "numbers2",
45
+ outputs: [
46
+ {
47
+ internalType: "uint256",
48
+ name: "",
49
+ type: "uint256",
50
+ },
51
+ ],
52
+ stateMutability: "view",
53
+ type: "function",
54
+ },
55
+ {
56
+ inputs: [
57
+ {
58
+ internalType: "uint256[]",
59
+ name: "a",
60
+ type: "uint256[]",
61
+ },
62
+ {
63
+ internalType: "uint256[]",
64
+ name: "b",
65
+ type: "uint256[]",
66
+ },
67
+ ],
68
+ name: "orTest",
69
+ outputs: [],
70
+ stateMutability: "nonpayable",
71
+ type: "function",
72
+ },
73
+ {
74
+ inputs: [
75
+ {
76
+ internalType: "uint256[]",
77
+ name: "a",
78
+ type: "uint256[]",
79
+ },
80
+ {
81
+ internalType: "uint8[]",
82
+ name: "b",
83
+ type: "uint8[]",
84
+ },
85
+ ],
86
+ name: "shlTest",
87
+ outputs: [],
88
+ stateMutability: "nonpayable",
89
+ type: "function",
90
+ },
91
+ {
92
+ inputs: [
93
+ {
94
+ internalType: "uint256[]",
95
+ name: "a",
96
+ type: "uint256[]",
97
+ },
98
+ {
99
+ internalType: "uint8[]",
100
+ name: "b",
101
+ type: "uint8[]",
102
+ },
103
+ ],
104
+ name: "shrTest",
105
+ outputs: [],
106
+ stateMutability: "nonpayable",
107
+ type: "function",
108
+ },
109
+ {
110
+ inputs: [
111
+ {
112
+ internalType: "uint256[]",
113
+ name: "a",
114
+ type: "uint256[]",
115
+ },
116
+ {
117
+ internalType: "uint256[]",
118
+ name: "b",
119
+ type: "uint256[]",
120
+ },
121
+ ],
122
+ name: "xorTest",
123
+ outputs: [],
124
+ stateMutability: "nonpayable",
125
+ type: "function",
126
+ },
127
+ ] as const;
128
+
129
+ const _bytecode =
130
+ "0x608060405234801561001057600080fd5b50611956806100206000396000f3fe608060405234801561001057600080fd5b50600436106100725760003560e01c8063859cc7d611610050578063859cc7d6146100b2578063c5799c26146100d7578063dacd34fa146100ea57600080fd5b8063295ef28a146100775780632c05c7221461008c5780635e8626191461009f575b600080fd5b61008a61008536600461177b565b6100fd565b005b61008a61009a36600461177b565b610213565b61008a6100ad36600461177b565b6103a1565b6100c56100c03660046117e7565b61049a565b60405190815260200160405180910390f35b61008a6100e536600461177b565b6104bb565b61008a6100f836600461177b565b610649565b82811461016b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f496e707574206c656e677468206d69736d61746368000000000000000000000060448201526064015b60405180910390fd5b610174836107d7565b60005b8381101561020c5760006101a286868481811061019657610196611800565b90506020020135610833565b90506101dc6101d7828686868181106101bd576101bd611800565b90506020020160208101906101d2919061182f565b61086b565b61097e565b600083815481106101ef576101ef611800565b6000918252602090912001555061020581611881565b9050610177565b5050505050565b82811461027c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f496e707574206c656e677468206d69736d6174636800000000000000000000006044820152606401610162565b610285836107d7565b60005b8381101561020c5760006102a786868481811061019657610196611800565b905060006102c085858581811061019657610196611800565b90506102cf6101d783836109d5565b600084815481106102e2576102e2611800565b6000918252602090912001556103136101d788888681811061030657610306611800565b9050602002013583610a13565b6000848154811061032657610326611800565b90600052602060002001541461033e5761033e6118b9565b6103636101d78387878781811061035757610357611800565b90506020020135610a59565b6000848154811061037657610376611800565b90600052602060002001541461038e5761038e6118b9565b50508061039a90611881565b9050610288565b82811461040a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f496e707574206c656e677468206d69736d6174636800000000000000000000006044820152606401610162565b610413836107d7565b60005b8381101561020c57600061043586868481811061019657610196611800565b905061046a6101d78286868681811061045057610450611800565b9050602002016020810190610465919061182f565b610a91565b6000838154811061047d5761047d611800565b6000918252602090912001555061049381611881565b9050610416565b600081815481106104aa57600080fd5b600091825260209091200154905081565b828114610524576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f496e707574206c656e677468206d69736d6174636800000000000000000000006044820152606401610162565b61052d836107d7565b60005b8381101561020c57600061054f86868481811061019657610196611800565b9050600061056885858581811061019657610196611800565b90506105776101d78383610b6b565b6000848154811061058a5761058a611800565b6000918252602090912001556105bb6101d78888868181106105ae576105ae611800565b9050602002013583610ba0565b600084815481106105ce576105ce611800565b9060005260206000200154146105e6576105e66118b9565b61060b6101d7838787878181106105ff576105ff611800565b90506020020135610bda565b6000848154811061061e5761061e611800565b906000526020600020015414610636576106366118b9565b50508061064290611881565b9050610530565b8281146106b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f496e707574206c656e677468206d69736d6174636800000000000000000000006044820152606401610162565b6106bb836107d7565b60005b8381101561020c5760006106dd86868481811061019657610196611800565b905060006106f685858581811061019657610196611800565b90506107056101d78383610c12565b6000848154811061071857610718611800565b6000918252602090912001556107496101d788888681811061073c5761073c611800565b9050602002013583610c47565b6000848154811061075c5761075c611800565b906000526020600020015414610774576107746118b9565b6107996101d78387878781811061078d5761078d611800565b90506020020135610c81565b600084815481106107ac576107ac611800565b9060005260206000200154146107c4576107c46118b9565b5050806107d090611881565b90506106be565b6107e26000806116b1565b60005b8181101561082f57600080546001810182558180527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56301558061082781611881565b9150506107e5565b5050565b61083b6116d2565b6108436116d2565b82608081901c61085281610cb9565b835261085d82610cb9565b602084015250909392505050565b6108736116d2565b61087b6116d2565b60808360ff16106108c45783516108929084610d05565b5061089d6000610cb9565b6020808301919091528401516108bd906108b86080866118e8565b610d05565b8152610975565b60ff8316156109665760208401516fffffffffffffffffffffffffffffffff60ff85161c906108fd906108f79083610df9565b85610d05565b602083015261090d8460806118e8565b60ff166fffffffffffffffffffffffffffffffff8016901b905061095e610938866000015186610d05565b610959610949886020015185610df9565b6109548860806118e8565b610e57565b610f39565b825250610975565b60208085015190820152835181525b90505b92915050565b60008061098e8360000151610f86565b9050600061099f8460200151610f86565b9050806fffffffffffffffffffffffffffffffff166080836fffffffffffffffffffffffffffffffff16901b1792505050919050565b6109dd6116d2565b6109e56116d2565b6109f784602001518460200151610fdf565b602082015283518351610a0a9190610fdf565b81529392505050565b610a1b6116d2565b610a236116d2565b6020830151608085901c908590610a3b90829061102c565b60208401528451610a4d90839061102c565b83525090949350505050565b610a616116d2565b610a696116d2565b6020840151608084901c908490610a80908261108b565b60208401528551610a4d908361108b565b610a996116d2565b610aa16116d2565b60808360ff1610610adb57610aba846020015184610e57565b508351610acc906109546080866118e8565b60208201526108bd6000610cb9565b60ff831615610966576000610af18460806118e8565b60ff166fffffffffffffffffffffffffffffffff8016901c9050610b38610b1c866020015186610e57565b610959610b2d886000015185610df9565b6108b88860806118e8565b60208301525083516fffffffffffffffffffffffffffffffff60ff85161b9061095e90610b659083610df9565b85610e57565b610b736116d2565b610b7b6116d2565b610b8d846020015184602001516110e9565b602082015283518351610a0a91906110e9565b610ba86116d2565b610bb06116d2565b6020830151608085901c908590610bc8908290611136565b60208401528451610a4d908390611136565b610be26116d2565b610bea6116d2565b6020840151608084901c908490610c019082610df9565b60208401528551610a4d9083610df9565b610c1a6116d2565b610c226116d2565b610c3484602001518460200151610f39565b602082015283518351610a0a9190610f39565b610c4f6116d2565b610c576116d2565b6020830151608085901c908590610c6f908290611195565b60208401528451610a4d908390611195565b610c896116d2565b610c916116d2565b6020840151608084901c908490610ca890826111f4565b60208401528551610a4d90836111f4565b604080518082019091526000808252602082015260408051808201909152600080825260208201528267ffffffffffffffff604082901c16610cfa81611252565b835261085d82611252565b6040805180820190915260008082526020820152604080518082019091526000808252602082015260408360ff1610610d6f578351610d449084611301565b50610d4f6000611252565b6020808301919091528401516108bd90610d6a6040866118e8565b611301565b60ff83161561096657602084015167ffffffffffffffff60ff85161c90610da090610d9a90836113c4565b85611301565b6020830152610db08460406118e8565b60ff1667ffffffffffffffff8016901b905061095e610dd3866000015186611301565b610df4610de48860200151856113c4565b610def8860406118e8565b61144e565b611465565b60408051808201909152600080825260208201526040805180820190915260008082526020820152600080604085901c67ffffffffffffffff168591509150610e468660200151826113c4565b60208401528551610a4d90836113c4565b6040805180820190915260008082526020820152604080518082019091526000808252602082015260408360ff1610610eb957610e9884602001518461144e565b508351610eaa90610def6040866118e8565b60208201526108bd6000611252565b60ff831615610966576000610ecf8460406118e8565b60ff1667ffffffffffffffff8016901c9050610f0e610ef286602001518661144e565b610df4610f038860000151856113c4565b610d6a8860406118e8565b602083015250835167ffffffffffffffff60ff85161b9061095e90610f3390836113c4565b8561144e565b60408051808201909152600080825260208201526040805180820190915260008082526020820152610f7384602001518460200151611465565b602082015283518351610a0a9190611465565b600080610f9683600001516114e5565b90506000610fa784602001516114e5565b90508067ffffffffffffffff1660408367ffffffffffffffff166fffffffffffffffffffffffffffffffff16901b1792505050919050565b604080518082019091526000808252602082015260408051808201909152600080825260208201526110198460200151846020015161154c565b602082015283518351610a0a919061154c565b60408051808201909152600080825260208201526040805180820190915260008082526020820152600080604086901c67ffffffffffffffff168691509150611079818660200151611561565b60208401528451610a4d908390611561565b60408051808201909152600080825260208201526040805180820190915260008082526020820152600080604085901c67ffffffffffffffff1685915091506110d88660200151826115eb565b60208401528551610a4d90836115eb565b6040805180820190915260008082526020820152604080518082019091526000808252602082015261112384602001518460200151611601565b602082015283518351610a0a9190611601565b60408051808201909152600080825260208201526040805180820190915260008082526020820152600080604086901c67ffffffffffffffff168691509150611183818660200151611616565b60208401528451610a4d908390611616565b60408051808201909152600080825260208201526040805180820190915260008082526020820152600080604086901c67ffffffffffffffff1686915091506111e281866020015161162c565b60208401528451610a4d90839061162c565b60408051808201909152600080825260208201526040805180820190915260008082526020820152600080604085901c67ffffffffffffffff168591509150611241866020015182611642565b60208401528551610a4d9083611642565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0400000000000000000000000000000000000000000000000000000000000000600482015267ffffffffffffffff8216602482015260009060649063d9b60b60906044015b6020604051808303816000875af11580156112dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109789190611930565b60006064631135f71a611318600460016002611654565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff000000000000000000000000000000000000000000000000000000000090911660048201526024810186905260ff851660448201526064015b6020604051808303816000875af11580156113a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109759190611930565b6000606463fe9c73d16113da6004806002611654565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff000000000000000000000000000000000000000000000000000000000090911660048201526024810186905267ffffffffffffffff85166044820152606401611381565b600060646339bd1d8d611318600460016002611654565b6000606463fb7da35f61147a60048085611654565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff000000000000000000000000000000000000000000000000000000000090911660048201526024810186905260448101859052606401611381565b6040517f0cfed5610000000000000000000000000000000000000000000000000000000081527f0400000000000000000000000000000000000000000000000000000000000000600482015260248101829052600090606490630cfed561906044016112be565b60006064636f962e2c61147a60048085611654565b60006064636f962e2c6115776004806001611654565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff0000000000000000000000000000000000000000000000000000000000909116600482015267ffffffffffffffff8616602482015260448101859052606401611381565b60006064636f962e2c6113da6004806002611654565b6000606463fe9c73d161147a60048085611654565b6000606463fe9c73d16115776004806001611654565b6000606463fb7da35f6115776004806001611654565b6000606463fb7da35f6113da60048060025b600081600281111561166857611668611901565b60ff16600884600481111561167f5761167f611901565b61ffff16901b61ffff16601086600481111561169d5761169d611901565b62ffffff16901b171760e81b949350505050565b50805460008255906000526020600020908101906116cf9190611716565b50565b60408051608081018252600091810182815260608201929092529081908152602001611711604051806040016040528060008152602001600081525090565b905290565b5b8082111561172b5760008155600101611717565b5090565b60008083601f84011261174157600080fd5b50813567ffffffffffffffff81111561175957600080fd5b6020830191508360208260051b850101111561177457600080fd5b9250929050565b6000806000806040858703121561179157600080fd5b843567ffffffffffffffff808211156117a957600080fd5b6117b58883890161172f565b909650945060208701359150808211156117ce57600080fd5b506117db8782880161172f565b95989497509550505050565b6000602082840312156117f957600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006020828403121561184157600080fd5b813560ff8116811461097557600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036118b2576118b2611852565b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b60ff828116828216039081111561097857610978611852565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561194257600080fd5b505191905056fea164736f6c6343000813000a";
131
+
132
+ type Bitwise256BitTestsContractConstructorParams =
133
+ | [signer?: Signer]
134
+ | ConstructorParameters<typeof ContractFactory>;
135
+
136
+ const isSuperArgs = (
137
+ xs: Bitwise256BitTestsContractConstructorParams
138
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
139
+
140
+ export class Bitwise256BitTestsContract__factory extends ContractFactory {
141
+ constructor(...args: Bitwise256BitTestsContractConstructorParams) {
142
+ if (isSuperArgs(args)) {
143
+ super(...args);
144
+ } else {
145
+ super(_abi, _bytecode, args[0]);
146
+ }
147
+ }
148
+
149
+ override getDeployTransaction(
150
+ overrides?: NonPayableOverrides & { from?: string }
151
+ ): Promise<ContractDeployTransaction> {
152
+ return super.getDeployTransaction(overrides || {});
153
+ }
154
+ override deploy(overrides?: NonPayableOverrides & { from?: string }) {
155
+ return super.deploy(overrides || {}) as Promise<
156
+ Bitwise256BitTestsContract & {
157
+ deploymentTransaction(): ContractTransactionResponse;
158
+ }
159
+ >;
160
+ }
161
+ override connect(
162
+ runner: ContractRunner | null
163
+ ): Bitwise256BitTestsContract__factory {
164
+ return super.connect(runner) as Bitwise256BitTestsContract__factory;
165
+ }
166
+
167
+ static readonly bytecode = _bytecode;
168
+ static readonly abi = _abi;
169
+ static createInterface(): Bitwise256BitTestsContractInterface {
170
+ return new Interface(_abi) as Bitwise256BitTestsContractInterface;
171
+ }
172
+ static connect(
173
+ address: string,
174
+ runner?: ContractRunner | null
175
+ ): Bitwise256BitTestsContract {
176
+ return new Contract(
177
+ address,
178
+ _abi,
179
+ runner
180
+ ) as unknown as Bitwise256BitTestsContract;
181
+ }
182
+ }
@@ -0,0 +1,255 @@
1
+ /* Autogenerated file. Do not edit manually. */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import {
5
+ Contract,
6
+ ContractFactory,
7
+ ContractTransactionResponse,
8
+ Interface,
9
+ } from "ethers";
10
+ import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers";
11
+ import type { NonPayableOverrides } from "../../../../../common";
12
+ import type {
13
+ Comparison128BitTestsContract,
14
+ Comparison128BitTestsContractInterface,
15
+ } from "../../../../../contracts/mocks/utils/mpc/Comparison128BitTestsContract";
16
+
17
+ const _abi = [
18
+ {
19
+ inputs: [
20
+ {
21
+ internalType: "uint256",
22
+ name: "",
23
+ type: "uint256",
24
+ },
25
+ ],
26
+ name: "boolResults",
27
+ outputs: [
28
+ {
29
+ internalType: "bool",
30
+ name: "",
31
+ type: "bool",
32
+ },
33
+ ],
34
+ stateMutability: "view",
35
+ type: "function",
36
+ },
37
+ {
38
+ inputs: [
39
+ {
40
+ internalType: "uint128[]",
41
+ name: "a",
42
+ type: "uint128[]",
43
+ },
44
+ {
45
+ internalType: "uint128[]",
46
+ name: "b",
47
+ type: "uint128[]",
48
+ },
49
+ ],
50
+ name: "eqTest",
51
+ outputs: [],
52
+ stateMutability: "nonpayable",
53
+ type: "function",
54
+ },
55
+ {
56
+ inputs: [
57
+ {
58
+ internalType: "uint128[]",
59
+ name: "a",
60
+ type: "uint128[]",
61
+ },
62
+ {
63
+ internalType: "uint128[]",
64
+ name: "b",
65
+ type: "uint128[]",
66
+ },
67
+ ],
68
+ name: "geTest",
69
+ outputs: [],
70
+ stateMutability: "nonpayable",
71
+ type: "function",
72
+ },
73
+ {
74
+ inputs: [
75
+ {
76
+ internalType: "uint128[]",
77
+ name: "a",
78
+ type: "uint128[]",
79
+ },
80
+ {
81
+ internalType: "uint128[]",
82
+ name: "b",
83
+ type: "uint128[]",
84
+ },
85
+ ],
86
+ name: "gtTest",
87
+ outputs: [],
88
+ stateMutability: "nonpayable",
89
+ type: "function",
90
+ },
91
+ {
92
+ inputs: [
93
+ {
94
+ internalType: "uint128[]",
95
+ name: "a",
96
+ type: "uint128[]",
97
+ },
98
+ {
99
+ internalType: "uint128[]",
100
+ name: "b",
101
+ type: "uint128[]",
102
+ },
103
+ ],
104
+ name: "leTest",
105
+ outputs: [],
106
+ stateMutability: "nonpayable",
107
+ type: "function",
108
+ },
109
+ {
110
+ inputs: [
111
+ {
112
+ internalType: "uint128[]",
113
+ name: "a",
114
+ type: "uint128[]",
115
+ },
116
+ {
117
+ internalType: "uint128[]",
118
+ name: "b",
119
+ type: "uint128[]",
120
+ },
121
+ ],
122
+ name: "ltTest",
123
+ outputs: [],
124
+ stateMutability: "nonpayable",
125
+ type: "function",
126
+ },
127
+ {
128
+ inputs: [
129
+ {
130
+ internalType: "uint128[]",
131
+ name: "a",
132
+ type: "uint128[]",
133
+ },
134
+ {
135
+ internalType: "uint128[]",
136
+ name: "b",
137
+ type: "uint128[]",
138
+ },
139
+ ],
140
+ name: "maxTest",
141
+ outputs: [],
142
+ stateMutability: "nonpayable",
143
+ type: "function",
144
+ },
145
+ {
146
+ inputs: [
147
+ {
148
+ internalType: "uint128[]",
149
+ name: "a",
150
+ type: "uint128[]",
151
+ },
152
+ {
153
+ internalType: "uint128[]",
154
+ name: "b",
155
+ type: "uint128[]",
156
+ },
157
+ ],
158
+ name: "minTest",
159
+ outputs: [],
160
+ stateMutability: "nonpayable",
161
+ type: "function",
162
+ },
163
+ {
164
+ inputs: [
165
+ {
166
+ internalType: "uint128[]",
167
+ name: "a",
168
+ type: "uint128[]",
169
+ },
170
+ {
171
+ internalType: "uint128[]",
172
+ name: "b",
173
+ type: "uint128[]",
174
+ },
175
+ ],
176
+ name: "neTest",
177
+ outputs: [],
178
+ stateMutability: "nonpayable",
179
+ type: "function",
180
+ },
181
+ {
182
+ inputs: [
183
+ {
184
+ internalType: "uint256",
185
+ name: "",
186
+ type: "uint256",
187
+ },
188
+ ],
189
+ name: "uintResults",
190
+ outputs: [
191
+ {
192
+ internalType: "uint128",
193
+ name: "",
194
+ type: "uint128",
195
+ },
196
+ ],
197
+ stateMutability: "view",
198
+ type: "function",
199
+ },
200
+ ] as const;
201
+
202
+ const _bytecode =
203
+ "0x608060405234801561001057600080fd5b5061264f806100206000396000f3fe608060405234801561001057600080fd5b50600436106100be5760003560e01c806366ede8f511610076578063925d54811161005b578063925d548114610180578063f10f8f0d14610193578063f43c1cc5146101a657600080fd5b806366ede8f51461014a5780636f9494e21461015d57600080fd5b80634c5b057b116100a75780634c5b057b146100eb57806358d0fcc6146100fe5780635e6592a71461011157600080fd5b80631797684f146100c35780632327b030146100d8575b600080fd5b6100d66100d1366004612486565b6101b9565b005b6100d66100e6366004612486565b6103dd565b6100d66100f9366004612486565b6105d6565b6100d661010c366004612486565b6107cf565b61012461011f3660046124f2565b610a2b565b6040516fffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100d6610158366004612486565b610a71565b61017061016b3660046124f2565b610cc8565b6040519015158152602001610141565b6100d661018e366004612486565b610cfc565b6100d66101a1366004612486565b610ef5565b6100d66101b4366004612486565b6110ee565b828114610227576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f496e707574206c656e677468206d69736d61746368000000000000000000000060448201526064015b60405180910390fd5b610230836112e7565b60005b838110156103d657600061026c8686848181106102525761025261250b565b9050602002016020810190610267919061253a565b61135a565b905060006102858585858181106102525761025261250b565b905061029961029483836113b4565b611400565b600084815481106102ac576102ac61250b565b90600052602060002090602091828204019190066101000a81548160ff0219169083151502179055506103086102948888868181106102ed576102ed61250b565b9050602002016020810190610302919061253a565b83611491565b15156000848154811061031d5761031d61250b565b90600052602060002090602091828204019190069054906101000a900460ff1615151461034c5761034c61256c565b61037f610294838787878181106103655761036561250b565b905060200201602081019061037a919061253a565b6114e1565b1515600084815481106103945761039461250b565b90600052602060002090602091828204019190069054906101000a900460ff161515146103c3576103c361256c565b5050806103cf9061259b565b9050610233565b5050505050565b828114610446576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f496e707574206c656e677468206d69736d617463680000000000000000000000604482015260640161021e565b61044f836112e7565b60005b838110156103d65760006104718686848181106102525761025261250b565b9050600061048a8585858181106102525761025261250b565b90506104996102948383611526565b600084815481106104ac576104ac61250b565b90600052602060002090602091828204019190066101000a81548160ff0219169083151502179055506105086102948888868181106104ed576104ed61250b565b9050602002016020810190610502919061253a565b83611557565b15156000848154811061051d5761051d61250b565b90600052602060002090602091828204019190069054906101000a900460ff1615151461054c5761054c61256c565b61057f610294838787878181106105655761056561250b565b905060200201602081019061057a919061253a565b611597565b1515600084815481106105945761059461250b565b90600052602060002090602091828204019190069054906101000a900460ff161515146105c3576105c361256c565b5050806105cf9061259b565b9050610452565b82811461063f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f496e707574206c656e677468206d69736d617463680000000000000000000000604482015260640161021e565b610648836112e7565b60005b838110156103d657600061066a8686848181106102525761025261250b565b905060006106838585858181106102525761025261250b565b905061069261029483836115cb565b600084815481106106a5576106a561250b565b90600052602060002090602091828204019190066101000a81548160ff0219169083151502179055506107016102948888868181106106e6576106e661250b565b90506020020160208101906106fb919061253a565b8361160a565b1515600084815481106107165761071661250b565b90600052602060002090602091828204019190069054906101000a900460ff161515146107455761074561256c565b6107786102948387878781811061075e5761075e61250b565b9050602002016020810190610773919061253a565b611650565b15156000848154811061078d5761078d61250b565b90600052602060002090602091828204019190069054906101000a900460ff161515146107bc576107bc61256c565b5050806107c89061259b565b905061064b565b828114610838576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f496e707574206c656e677468206d69736d617463680000000000000000000000604482015260640161021e565b61084183611695565b60005b838110156103d65760006108638686848181106102525761025261250b565b9050600061087c8585858181106102525761025261250b565b905061089061088b8383611715565b611786565b600184815481106108a3576108a361250b565b90600052602060002090600291828204019190066010026101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555061092161088b8888868181106109065761090661250b565b905060200201602081019061091b919061253a565b836117df565b6fffffffffffffffffffffffffffffffff16600184815481106109465761094661250b565b6000918252602090912060028204015460019091166010026101000a90046fffffffffffffffffffffffffffffffff16146109835761098361256c565b6109b661088b8387878781811061099c5761099c61250b565b90506020020160208101906109b1919061253a565b611860565b6fffffffffffffffffffffffffffffffff16600184815481106109db576109db61250b565b6000918252602090912060028204015460019091166010026101000a90046fffffffffffffffffffffffffffffffff1614610a1857610a1861256c565b505080610a249061259b565b9050610844565b60018181548110610a3b57600080fd5b9060005260206000209060029182820401919006601002915054906101000a90046fffffffffffffffffffffffffffffffff1681565b828114610ada576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f496e707574206c656e677468206d69736d617463680000000000000000000000604482015260640161021e565b610ae383611695565b60005b838110156103d6576000610b058686848181106102525761025261250b565b90506000610b1e8585858181106102525761025261250b565b9050610b2d61088b83836118d4565b60018481548110610b4057610b4061250b565b90600052602060002090600291828204019190066010026101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550610bbe61088b888886818110610ba357610ba361250b565b9050602002016020810190610bb8919061253a565b83611924565b6fffffffffffffffffffffffffffffffff1660018481548110610be357610be361250b565b6000918252602090912060028204015460019091166010026101000a90046fffffffffffffffffffffffffffffffff1614610c2057610c2061256c565b610c5361088b83878787818110610c3957610c3961250b565b9050602002016020810190610c4e919061253a565b61197d565b6fffffffffffffffffffffffffffffffff1660018481548110610c7857610c7861250b565b6000918252602090912060028204015460019091166010026101000a90046fffffffffffffffffffffffffffffffff1614610cb557610cb561256c565b505080610cc19061259b565b9050610ae6565b60008181548110610cd857600080fd5b9060005260206000209060209182820401919006915054906101000a900460ff1681565b828114610d65576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f496e707574206c656e677468206d69736d617463680000000000000000000000604482015260640161021e565b610d6e836112e7565b60005b838110156103d6576000610d908686848181106102525761025261250b565b90506000610da98585858181106102525761025261250b565b9050610db861029483836119d5565b60008481548110610dcb57610dcb61250b565b90600052602060002090602091828204019190066101000a81548160ff021916908315150217905550610e27610294888886818110610e0c57610e0c61250b565b9050602002016020810190610e21919061253a565b83611a14565b151560008481548110610e3c57610e3c61250b565b90600052602060002090602091828204019190069054906101000a900460ff16151514610e6b57610e6b61256c565b610e9e61029483878787818110610e8457610e8461250b565b9050602002016020810190610e99919061253a565b611a5a565b151560008481548110610eb357610eb361250b565b90600052602060002090602091828204019190069054906101000a900460ff16151514610ee257610ee261256c565b505080610eee9061259b565b9050610d71565b828114610f5e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f496e707574206c656e677468206d69736d617463680000000000000000000000604482015260640161021e565b610f67836112e7565b60005b838110156103d6576000610f898686848181106102525761025261250b565b90506000610fa28585858181106102525761025261250b565b9050610fb16102948383611a9f565b60008481548110610fc457610fc461250b565b90600052602060002090602091828204019190066101000a81548160ff0219169083151502179055506110206102948888868181106110055761100561250b565b905060200201602081019061101a919061253a565b83611ac9565b1515600084815481106110355761103561250b565b90600052602060002090602091828204019190069054906101000a900460ff161515146110645761106461256c565b6110976102948387878781811061107d5761107d61250b565b9050602002016020810190611092919061253a565b611b00565b1515600084815481106110ac576110ac61250b565b90600052602060002090602091828204019190069054906101000a900460ff161515146110db576110db61256c565b5050806110e79061259b565b9050610f6a565b828114611157576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f496e707574206c656e677468206d69736d617463680000000000000000000000604482015260640161021e565b611160836112e7565b60005b838110156103d65760006111828686848181106102525761025261250b565b9050600061119b8585858181106102525761025261250b565b90506111aa6102948383611b34565b600084815481106111bd576111bd61250b565b90600052602060002090602091828204019190066101000a81548160ff0219169083151502179055506112196102948888868181106111fe576111fe61250b565b9050602002016020810190611213919061253a565b83611b73565b15156000848154811061122e5761122e61250b565b90600052602060002090602091828204019190069054906101000a900460ff1615151461125d5761125d61256c565b611290610294838787878181106112765761127661250b565b905060200201602081019061128b919061253a565b611bb9565b1515600084815481106112a5576112a561250b565b90600052602060002090602091828204019190069054906101000a900460ff161515146112d4576112d461256c565b5050806112e09061259b565b9050611163565b6112f26000806123d8565b60005b8181101561135657600080546001810182559080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56360208204018054601f9092166101000a60ff021990911690558061134e8161259b565b9150506112f5565b5050565b604080518082019091526000808252602082015260408051808201909152600080825260208201528267ffffffffffffffff604082901c1661139b81611bfe565b83526113a682611bfe565b602084015250909392505050565b6000806113c984600001518460000151611cb3565b90506113f8816113e186600001518660000151611d72565b6113f387602001518760200151611d72565b611d87565b949350505050565b6040517f0cfed56100000000000000000000000000000000000000000000000000000000815260006004820181905260248201839052908190606490630cfed561906044016020604051808303816000875af1158015611464573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114889190612629565b15159392505050565b805160009067ffffffffffffffff604085901c1690849083906114b5908490611e4c565b90506114d7816114c9858860000151611ed6565b6113f3858960200151611ed6565b9695505050505050565b815160009067ffffffffffffffff604084901c1690839083906115049084611eec565b90506114d781611518886000015186611f76565b6113f3896020015186611f76565b600061155061153d84602001518460200151611cb3565b8451845161154b9190611cb3565b611f8c565b9392505050565b60008080604085901c67ffffffffffffffff16859150915061158e611580828660200151611e4c565b61154b848760000151611e4c565b95945050505050565b602082015160009067ffffffffffffffff604084901c1690839061158e906115bf9083611eec565b865161154b9085611eec565b6000806115e084600001518460000151611cb3565b90506113f8816115f886600001518660000151611fa0565b6113f387602001518760200151611fa0565b805160009067ffffffffffffffff604085901c16908490839061162e908490611e4c565b90506114d781611642858860000151611fb5565b6113f3858960200151611fb5565b815160009067ffffffffffffffff604084901c1690839083906116739084611eec565b90506114d781611687886000015186611fcb565b6113f3896020015186611fcb565b6116a160016000612400565b60005b818110156113565760018054808201825560008290527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf660028204018054919092166010026101000a6fffffffffffffffffffffffffffffffff02191690558061170d8161259b565b9150506116a4565b60408051808201909152600080825260208201528251825160009161173991611cb3565b9050600061174f85600001518560000151611d72565b9050600061176586602001518660200151611d72565b90506114d78361177684888a611fe1565b61178184898b611fe1565b611fe1565b600080611796836000015161203a565b905060006117a7846020015161203a565b90508067ffffffffffffffff1660408367ffffffffffffffff166fffffffffffffffffffffffffffffffff16901b1792505050919050565b6040805180820182526000808252602082018190528351919285901c67ffffffffffffffff1691859190611814908490611e4c565b90506000611826848760000151611ed6565b90506000611838848860200151611ed6565b905061185483611849848a8c6120a1565b611781848b8d6120a1565b98975050505050505050565b6040805180820182526000808252602082018190528451919284901c67ffffffffffffffff16918491906118949084611eec565b905060006118a6876000015185611f76565b905060006118b8886020015185611f76565b9050611854836118c9848a8c61210f565b611781848b8d61210f565b6040805180820190915260008082526020820152825182516000916118f891611cb3565b9050600061190e85600001518560000151611fa0565b9050600061176586602001518660200151611fa0565b6040805180820182526000808252602082018190528351919285901c67ffffffffffffffff1691859190611959908490611e4c565b9050600061196b848760000151611fb5565b90506000611838848860200151611fb5565b6040805180820182526000808252602082018190528451919284901c67ffffffffffffffff16918491906119b19084611eec565b905060006119c3876000015185611fcb565b905060006118b8886020015185611fcb565b6000806119ea84600001518460000151611cb3565b90506113f881611a0286600001518660000151611d72565b6113f387602001518760200151612171565b805160009067ffffffffffffffff604085901c169084908390611a38908490611e4c565b90506114d781611a4c858860000151611ed6565b6113f3858960200151612186565b815160009067ffffffffffffffff604084901c169083908390611a7d9084611eec565b90506114d781611a91886000015186611f76565b6113f389602001518661219c565b6000611550611ab6846020015184602001516121b2565b84518451611ac491906121b2565b6121c7565b60008080604085901c67ffffffffffffffff16859150915061158e611af28286602001516121db565b611ac48487600001516121db565b602082015160009067ffffffffffffffff604084901c1690839061158e90611b2890836121f1565b8651611ac490856121f1565b600080611b4984600001518460000151611cb3565b90506113f881611b6186600001518660000151611fa0565b6113f387602001518760200151612207565b805160009067ffffffffffffffff604085901c169084908390611b97908490611e4c565b90506114d781611bab858860000151611fb5565b6113f385896020015161221c565b815160009067ffffffffffffffff604084901c169083908390611bdc9084611eec565b90506114d781611bf0886000015186611fcb565b6113f3896020015186612232565b6040517fd9b60b600000000000000000000000000000000000000000000000000000000081527f0400000000000000000000000000000000000000000000000000000000000000600482015267ffffffffffffffff8216602482015260009060649063d9b60b60906044015b6020604051808303816000875af1158015611c89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cad9190612629565b92915050565b60006064637c12a1eb611cc860048085612244565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff0000000000000000000000000000000000000000000000000000000000909116600482015260248101869052604481018590526064015b6020604051808303816000875af1158015611d4e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115509190612629565b60006064636d82e45e611cc860048085612244565b600060646320cc408d611d9b838080612244565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff000000000000000000000000000000000000000000000000000000000090911660048201526024810187905260448101869052606481018590526084015b6020604051808303816000875af1158015611e28573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f89190612629565b60006064637c12a1eb611e626004806001612244565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff0000000000000000000000000000000000000000000000000000000000909116600482015267ffffffffffffffff8616602482015260448101859052606401611d2f565b60006064636d82e45e611e626004806001612244565b60006064637c12a1eb611f026004806002612244565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff000000000000000000000000000000000000000000000000000000000090911660048201526024810186905267ffffffffffffffff85166044820152606401611d2f565b60006064636d82e45e611f026004806002612244565b6000606463fe9c73d1611cc8838080612244565b6000606463dd148693611cc860048085612244565b6000606463dd148693611e626004806001612244565b6000606463dd148693611f026004806002612244565b6040805180820190915260008082526020820152604080518082019091526000808252602082015261201c85856020015185602001516122a1565b6020820152835183516120309187916122a1565b8152949350505050565b6040517f0cfed5610000000000000000000000000000000000000000000000000000000081527f0400000000000000000000000000000000000000000000000000000000000000600482015260248101829052600090606490630cfed56190604401611c6a565b60408051808201909152600080825260208201526040805180820190915260008082526020820152600080604085901c67ffffffffffffffff1685915091506120ef878760200151836122b6565b60208401528551612102908890846122b6565b8352509095945050505050565b60408051808201909152600080825260208201526040805180820190915260008082526020820152600080604086901c67ffffffffffffffff16869150915061215d87828760200151612347565b602084015284516121029088908490612347565b6000606463813b2074611cc860048085612244565b6000606463813b2074611e626004806001612244565b6000606463813b2074611f026004806002612244565b600060646342094c56611cc860048085612244565b6000606463fb7da35f611cc8838080612244565b600060646342094c56611e626004806001612244565b600060646342094c56611f026004806002612244565b6000606463145fca2c611cc860048085612244565b6000606463145fca2c611e626004806001612244565b6000606463145fca2c611f0260048060025b6000816002811115612258576122586125fa565b60ff16600884600481111561226f5761226f6125fa565b61ffff16901b61ffff16601086600481111561228d5761228d6125fa565b62ffffff16901b171760e81b949350505050565b600060646320cc408d611d9b60048085612244565b600060646320cc408d6122cc6004806002612244565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff00000000000000000000000000000000000000000000000000000000009091166004820152602481018790526044810186905267ffffffffffffffff85166064820152608401611e09565b600060646320cc408d61235d6004806001612244565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681527fffffff000000000000000000000000000000000000000000000000000000000090911660048201526024810187905267ffffffffffffffff8616604482015260648101859052608401611e09565b50805460008255601f0160209004906000526020600020908101906123fd9190612421565b50565b5080546000825560010160029004906000526020600020908101906123fd91905b5b808211156124365760008155600101612422565b5090565b60008083601f84011261244c57600080fd5b50813567ffffffffffffffff81111561246457600080fd5b6020830191508360208260051b850101111561247f57600080fd5b9250929050565b6000806000806040858703121561249c57600080fd5b843567ffffffffffffffff808211156124b457600080fd5b6124c08883890161243a565b909650945060208701359150808211156124d957600080fd5b506124e68782880161243a565b95989497509550505050565b60006020828403121561250457600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006020828403121561254c57600080fd5b81356fffffffffffffffffffffffffffffffff8116811461155057600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036125f3577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5060010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60006020828403121561263b57600080fd5b505191905056fea164736f6c6343000813000a";
204
+
205
+ type Comparison128BitTestsContractConstructorParams =
206
+ | [signer?: Signer]
207
+ | ConstructorParameters<typeof ContractFactory>;
208
+
209
+ const isSuperArgs = (
210
+ xs: Comparison128BitTestsContractConstructorParams
211
+ ): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;
212
+
213
+ export class Comparison128BitTestsContract__factory extends ContractFactory {
214
+ constructor(...args: Comparison128BitTestsContractConstructorParams) {
215
+ if (isSuperArgs(args)) {
216
+ super(...args);
217
+ } else {
218
+ super(_abi, _bytecode, args[0]);
219
+ }
220
+ }
221
+
222
+ override getDeployTransaction(
223
+ overrides?: NonPayableOverrides & { from?: string }
224
+ ): Promise<ContractDeployTransaction> {
225
+ return super.getDeployTransaction(overrides || {});
226
+ }
227
+ override deploy(overrides?: NonPayableOverrides & { from?: string }) {
228
+ return super.deploy(overrides || {}) as Promise<
229
+ Comparison128BitTestsContract & {
230
+ deploymentTransaction(): ContractTransactionResponse;
231
+ }
232
+ >;
233
+ }
234
+ override connect(
235
+ runner: ContractRunner | null
236
+ ): Comparison128BitTestsContract__factory {
237
+ return super.connect(runner) as Comparison128BitTestsContract__factory;
238
+ }
239
+
240
+ static readonly bytecode = _bytecode;
241
+ static readonly abi = _abi;
242
+ static createInterface(): Comparison128BitTestsContractInterface {
243
+ return new Interface(_abi) as Comparison128BitTestsContractInterface;
244
+ }
245
+ static connect(
246
+ address: string,
247
+ runner?: ContractRunner | null
248
+ ): Comparison128BitTestsContract {
249
+ return new Contract(
250
+ address,
251
+ _abi,
252
+ runner
253
+ ) as unknown as Comparison128BitTestsContract;
254
+ }
255
+ }