@cofhe/mock-contracts 0.1.1 → 0.2.1
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.
- package/CHANGELOG.md +23 -0
- package/contracts/ABITest.sol +99 -0
- package/contracts/MockACL.sol +5 -1
- package/dist/index.d.mts +15 -6
- package/dist/index.d.ts +15 -6
- package/dist/index.js +1538 -1473
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1538 -1473
- package/dist/index.mjs.map +1 -1
- package/foundry.toml +3 -0
- package/package.json +5 -5
- package/src/MockACL.ts +433 -371
- package/src/MockQueryDecrypter.ts +231 -229
- package/src/MockTaskManager.ts +719 -717
- package/src/MockZkVerifier.ts +175 -173
- package/src/TestBed.ts +199 -197
- package/src/types.ts +12 -4
package/src/MockZkVerifier.ts
CHANGED
|
@@ -1,264 +1,266 @@
|
|
|
1
1
|
// This file is auto-generated by build-artifacts.ts
|
|
2
|
-
import { type
|
|
2
|
+
import { type MockArtifact } from './types';
|
|
3
3
|
|
|
4
4
|
export const MockZkVerifierArtifact = {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
contractName: 'MockZkVerifier',
|
|
6
|
+
isFixed: true,
|
|
7
|
+
fixedAddress: '0x0000000000000000000000000000000000005001',
|
|
8
|
+
abi: [
|
|
8
9
|
{
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
type: 'function',
|
|
11
|
+
name: 'exists',
|
|
12
|
+
inputs: [],
|
|
13
|
+
outputs: [
|
|
13
14
|
{
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
}
|
|
15
|
+
name: '',
|
|
16
|
+
type: 'bool',
|
|
17
|
+
internalType: 'bool',
|
|
18
|
+
},
|
|
18
19
|
],
|
|
19
|
-
|
|
20
|
+
stateMutability: 'pure',
|
|
20
21
|
},
|
|
21
22
|
{
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
type: 'function',
|
|
24
|
+
name: 'insertCtHash',
|
|
25
|
+
inputs: [
|
|
25
26
|
{
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
name: 'ctHash',
|
|
28
|
+
type: 'uint256',
|
|
29
|
+
internalType: 'uint256',
|
|
29
30
|
},
|
|
30
31
|
{
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
}
|
|
32
|
+
name: 'value',
|
|
33
|
+
type: 'uint256',
|
|
34
|
+
internalType: 'uint256',
|
|
35
|
+
},
|
|
35
36
|
],
|
|
36
|
-
|
|
37
|
-
|
|
37
|
+
outputs: [],
|
|
38
|
+
stateMutability: 'nonpayable',
|
|
38
39
|
},
|
|
39
40
|
{
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
type: 'function',
|
|
42
|
+
name: 'insertPackedCtHashes',
|
|
43
|
+
inputs: [
|
|
43
44
|
{
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
name: 'ctHashes',
|
|
46
|
+
type: 'uint256[]',
|
|
47
|
+
internalType: 'uint256[]',
|
|
47
48
|
},
|
|
48
49
|
{
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
}
|
|
50
|
+
name: 'values',
|
|
51
|
+
type: 'uint256[]',
|
|
52
|
+
internalType: 'uint256[]',
|
|
53
|
+
},
|
|
53
54
|
],
|
|
54
|
-
|
|
55
|
-
|
|
55
|
+
outputs: [],
|
|
56
|
+
stateMutability: 'nonpayable',
|
|
56
57
|
},
|
|
57
58
|
{
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
59
|
+
type: 'function',
|
|
60
|
+
name: 'zkVerify',
|
|
61
|
+
inputs: [
|
|
61
62
|
{
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
63
|
+
name: 'value',
|
|
64
|
+
type: 'uint256',
|
|
65
|
+
internalType: 'uint256',
|
|
65
66
|
},
|
|
66
67
|
{
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
68
|
+
name: 'utype',
|
|
69
|
+
type: 'uint8',
|
|
70
|
+
internalType: 'uint8',
|
|
70
71
|
},
|
|
71
72
|
{
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
73
|
+
name: 'user',
|
|
74
|
+
type: 'address',
|
|
75
|
+
internalType: 'address',
|
|
75
76
|
},
|
|
76
77
|
{
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
78
|
+
name: 'securityZone',
|
|
79
|
+
type: 'uint8',
|
|
80
|
+
internalType: 'uint8',
|
|
80
81
|
},
|
|
81
82
|
{
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
}
|
|
83
|
+
name: '',
|
|
84
|
+
type: 'uint256',
|
|
85
|
+
internalType: 'uint256',
|
|
86
|
+
},
|
|
86
87
|
],
|
|
87
|
-
|
|
88
|
+
outputs: [
|
|
88
89
|
{
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
90
|
+
name: '',
|
|
91
|
+
type: 'tuple',
|
|
92
|
+
internalType: 'struct EncryptedInput',
|
|
93
|
+
components: [
|
|
93
94
|
{
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
95
|
+
name: 'ctHash',
|
|
96
|
+
type: 'uint256',
|
|
97
|
+
internalType: 'uint256',
|
|
97
98
|
},
|
|
98
99
|
{
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
100
|
+
name: 'securityZone',
|
|
101
|
+
type: 'uint8',
|
|
102
|
+
internalType: 'uint8',
|
|
102
103
|
},
|
|
103
104
|
{
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
105
|
+
name: 'utype',
|
|
106
|
+
type: 'uint8',
|
|
107
|
+
internalType: 'uint8',
|
|
107
108
|
},
|
|
108
109
|
{
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
}
|
|
113
|
-
]
|
|
114
|
-
}
|
|
110
|
+
name: 'signature',
|
|
111
|
+
type: 'bytes',
|
|
112
|
+
internalType: 'bytes',
|
|
113
|
+
},
|
|
114
|
+
],
|
|
115
|
+
},
|
|
115
116
|
],
|
|
116
|
-
|
|
117
|
+
stateMutability: 'nonpayable',
|
|
117
118
|
},
|
|
118
119
|
{
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
120
|
+
type: 'function',
|
|
121
|
+
name: 'zkVerifyCalcCtHash',
|
|
122
|
+
inputs: [
|
|
122
123
|
{
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
124
|
+
name: 'value',
|
|
125
|
+
type: 'uint256',
|
|
126
|
+
internalType: 'uint256',
|
|
126
127
|
},
|
|
127
128
|
{
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
129
|
+
name: 'utype',
|
|
130
|
+
type: 'uint8',
|
|
131
|
+
internalType: 'uint8',
|
|
131
132
|
},
|
|
132
133
|
{
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
134
|
+
name: 'user',
|
|
135
|
+
type: 'address',
|
|
136
|
+
internalType: 'address',
|
|
136
137
|
},
|
|
137
138
|
{
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
139
|
+
name: 'securityZone',
|
|
140
|
+
type: 'uint8',
|
|
141
|
+
internalType: 'uint8',
|
|
141
142
|
},
|
|
142
143
|
{
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
}
|
|
144
|
+
name: '',
|
|
145
|
+
type: 'uint256',
|
|
146
|
+
internalType: 'uint256',
|
|
147
|
+
},
|
|
147
148
|
],
|
|
148
|
-
|
|
149
|
+
outputs: [
|
|
149
150
|
{
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
}
|
|
151
|
+
name: 'ctHash',
|
|
152
|
+
type: 'uint256',
|
|
153
|
+
internalType: 'uint256',
|
|
154
|
+
},
|
|
154
155
|
],
|
|
155
|
-
|
|
156
|
+
stateMutability: 'view',
|
|
156
157
|
},
|
|
157
158
|
{
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
159
|
+
type: 'function',
|
|
160
|
+
name: 'zkVerifyCalcCtHashesPacked',
|
|
161
|
+
inputs: [
|
|
161
162
|
{
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
163
|
+
name: 'values',
|
|
164
|
+
type: 'uint256[]',
|
|
165
|
+
internalType: 'uint256[]',
|
|
165
166
|
},
|
|
166
167
|
{
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
168
|
+
name: 'utypes',
|
|
169
|
+
type: 'uint8[]',
|
|
170
|
+
internalType: 'uint8[]',
|
|
170
171
|
},
|
|
171
172
|
{
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
173
|
+
name: 'user',
|
|
174
|
+
type: 'address',
|
|
175
|
+
internalType: 'address',
|
|
175
176
|
},
|
|
176
177
|
{
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
178
|
+
name: 'securityZone',
|
|
179
|
+
type: 'uint8',
|
|
180
|
+
internalType: 'uint8',
|
|
180
181
|
},
|
|
181
182
|
{
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
}
|
|
183
|
+
name: 'chainId',
|
|
184
|
+
type: 'uint256',
|
|
185
|
+
internalType: 'uint256',
|
|
186
|
+
},
|
|
186
187
|
],
|
|
187
|
-
|
|
188
|
+
outputs: [
|
|
188
189
|
{
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
}
|
|
190
|
+
name: 'ctHashes',
|
|
191
|
+
type: 'uint256[]',
|
|
192
|
+
internalType: 'uint256[]',
|
|
193
|
+
},
|
|
193
194
|
],
|
|
194
|
-
|
|
195
|
+
stateMutability: 'view',
|
|
195
196
|
},
|
|
196
197
|
{
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
198
|
+
type: 'function',
|
|
199
|
+
name: 'zkVerifyPacked',
|
|
200
|
+
inputs: [
|
|
200
201
|
{
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
202
|
+
name: 'values',
|
|
203
|
+
type: 'uint256[]',
|
|
204
|
+
internalType: 'uint256[]',
|
|
204
205
|
},
|
|
205
206
|
{
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
207
|
+
name: 'utypes',
|
|
208
|
+
type: 'uint8[]',
|
|
209
|
+
internalType: 'uint8[]',
|
|
209
210
|
},
|
|
210
211
|
{
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
212
|
+
name: 'user',
|
|
213
|
+
type: 'address',
|
|
214
|
+
internalType: 'address',
|
|
214
215
|
},
|
|
215
216
|
{
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
217
|
+
name: 'securityZone',
|
|
218
|
+
type: 'uint8',
|
|
219
|
+
internalType: 'uint8',
|
|
219
220
|
},
|
|
220
221
|
{
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
}
|
|
222
|
+
name: 'chainId',
|
|
223
|
+
type: 'uint256',
|
|
224
|
+
internalType: 'uint256',
|
|
225
|
+
},
|
|
225
226
|
],
|
|
226
|
-
|
|
227
|
+
outputs: [
|
|
227
228
|
{
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
229
|
+
name: 'inputs',
|
|
230
|
+
type: 'tuple[]',
|
|
231
|
+
internalType: 'struct EncryptedInput[]',
|
|
232
|
+
components: [
|
|
232
233
|
{
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
234
|
+
name: 'ctHash',
|
|
235
|
+
type: 'uint256',
|
|
236
|
+
internalType: 'uint256',
|
|
236
237
|
},
|
|
237
238
|
{
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
239
|
+
name: 'securityZone',
|
|
240
|
+
type: 'uint8',
|
|
241
|
+
internalType: 'uint8',
|
|
241
242
|
},
|
|
242
243
|
{
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
244
|
+
name: 'utype',
|
|
245
|
+
type: 'uint8',
|
|
246
|
+
internalType: 'uint8',
|
|
246
247
|
},
|
|
247
248
|
{
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
}
|
|
252
|
-
]
|
|
253
|
-
}
|
|
249
|
+
name: 'signature',
|
|
250
|
+
type: 'bytes',
|
|
251
|
+
internalType: 'bytes',
|
|
252
|
+
},
|
|
253
|
+
],
|
|
254
|
+
},
|
|
254
255
|
],
|
|
255
|
-
|
|
256
|
+
stateMutability: 'nonpayable',
|
|
256
257
|
},
|
|
257
258
|
{
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
}
|
|
259
|
+
type: 'error',
|
|
260
|
+
name: 'InvalidInputs',
|
|
261
|
+
inputs: [],
|
|
262
|
+
},
|
|
262
263
|
],
|
|
263
|
-
|
|
264
|
-
|
|
264
|
+
deployedBytecode:
|
|
265
|
+
'0x608060405234801561000f575f5ffd5b506004361061007b575f3560e01c8063772de59611610059578063772de596146100e9578063a2616ba914610119578063a9f046cd14610149578063d2a0693e146101655761007b565b8063267c4ae41461007f5780635946761f1461009d57806366dfcfc6146100cd575b5f5ffd5b610087610195565b6040516100949190610750565b60405180910390f35b6100b760048036038101906100b29190610a4d565b61019d565b6040516100c49190610c95565b60405180910390f35b6100e760048036038101906100e29190610cb5565b6102b5565b005b61010360048036038101906100fe9190610a4d565b61034d565b6040516101109190610d9b565b60405180910390f35b610133600480360381019061012e9190610dbb565b61045b565b6040516101409190610e92565b60405180910390f35b610163600480360381019061015e9190610eb2565b6104bd565b005b61017f600480360381019061017a9190610dbb565b61051b565b60405161018c9190610f37565b60405180910390f35b5f6001905090565b606085518551146101da576040517ff34cfab600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845167ffffffffffffffff8111156101f5576101f461078e565b5b60405190808252806020026020018201604052801561022e57816020015b61021b61070b565b8152602001906001900390816102135790505b5090505f5f90505b85518110156102ab5761028087828151811061025557610254610f50565b5b60200260200101518783815181106102705761026f610f50565b5b602002602001015187878761045b565b82828151811061029357610292610f50565b5b60200260200101819052508080600101915050610236565b5095945050505050565b73ea30c4b8b44078bbf8a6ef5b9f1ec1626c7848d973ffffffffffffffffffffffffffffffffffffffff166315a486fe83836040518363ffffffff1660e01b8152600401610304929190610f7d565b5f604051808303815f87803b15801561031b575f5ffd5b505af115801561032d573d5f5f3e3d5ffd5b5050505060015f5f8282546103429190610fd1565b925050819055505050565b6060855185511461038a576040517ff34cfab600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845167ffffffffffffffff8111156103a5576103a461078e565b5b6040519080825280602002602001820160405280156103d35781602001602082028036833780820191505090505b5090505f5f90505b8551811015610451576104258782815181106103fa576103f9610f50565b5b602002602001015187838151811061041557610414610f50565b5b602002602001015187878761051b565b82828151811061043857610437610f50565b5b60200260200101818152505080806001019150506103db565b5095945050505050565b61046361070b565b5f6104708587868a610533565b905061047c81886102b5565b60405180608001604052808281526020018560ff1681526020018760ff16815260200160405180602001604052805f81525081525091505095945050505050565b5f5f90505b8251811015610516576105098382815181106104e1576104e0610f50565b5b60200260200101518383815181106104fc576104fb610f50565b5b60200260200101516102b5565b80806001019150506104c2565b505050565b5f61052884868589610533565b905095945050505050565b5f5f61053e83610611565b60405160200161054e919061103e565b60405160208183030381529060405290508061057f8773ffffffffffffffffffffffffffffffffffffffff16610611565b604051602001610590929190611054565b6040516020818303038152906040529050805f546040516020016105b49190611097565b604051602081830303815290604052805190602001206040516020016105db9291906110da565b60405160208183030381529060405290505f81805190602001209050610605815f1c86885f610673565b92505050949350505050565b60605f602067ffffffffffffffff81111561062f5761062e61078e565b5b6040519080825280601f01601f1916602001820160405280156106615781602001600182028036833780820191505090505b50905082602082015280915050919050565b5f61ffff80167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6106a49190611101565b851690505f8460ff1660086106b985876106cc565b901b179050808217915050949350505050565b5f600160ff8016901c60ff168260ff1616836106e8575f610702565b600160ff8016901c60ff1660ff80166107019190611101565b5b17905092915050565b60405180608001604052805f81526020015f60ff1681526020015f60ff168152602001606081525090565b5f8115159050919050565b61074a81610736565b82525050565b5f6020820190506107635f830184610741565b92915050565b5f604051905090565b5f5ffd5b5f5ffd5b5f5ffd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6107c48261077e565b810181811067ffffffffffffffff821117156107e3576107e261078e565b5b80604052505050565b5f6107f5610769565b905061080182826107bb565b919050565b5f67ffffffffffffffff8211156108205761081f61078e565b5b602082029050602081019050919050565b5f5ffd5b5f819050919050565b61084781610835565b8114610851575f5ffd5b50565b5f813590506108628161083e565b92915050565b5f61087a61087584610806565b6107ec565b9050808382526020820190506020840283018581111561089d5761089c610831565b5b835b818110156108c657806108b28882610854565b84526020840193505060208101905061089f565b5050509392505050565b5f82601f8301126108e4576108e361077a565b5b81356108f4848260208601610868565b91505092915050565b5f67ffffffffffffffff8211156109175761091661078e565b5b602082029050602081019050919050565b5f60ff82169050919050565b61093d81610928565b8114610947575f5ffd5b50565b5f8135905061095881610934565b92915050565b5f61097061096b846108fd565b6107ec565b9050808382526020820190506020840283018581111561099357610992610831565b5b835b818110156109bc57806109a8888261094a565b845260208401935050602081019050610995565b5050509392505050565b5f82601f8301126109da576109d961077a565b5b81356109ea84826020860161095e565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610a1c826109f3565b9050919050565b610a2c81610a12565b8114610a36575f5ffd5b50565b5f81359050610a4781610a23565b92915050565b5f5f5f5f5f60a08688031215610a6657610a65610772565b5b5f86013567ffffffffffffffff811115610a8357610a82610776565b5b610a8f888289016108d0565b955050602086013567ffffffffffffffff811115610ab057610aaf610776565b5b610abc888289016109c6565b9450506040610acd88828901610a39565b9350506060610ade8882890161094a565b9250506080610aef88828901610854565b9150509295509295909350565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b610b2e81610835565b82525050565b610b3d81610928565b82525050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f610b7582610b43565b610b7f8185610b4d565b9350610b8f818560208601610b5d565b610b988161077e565b840191505092915050565b5f608083015f830151610bb85f860182610b25565b506020830151610bcb6020860182610b34565b506040830151610bde6040860182610b34565b5060608301518482036060860152610bf68282610b6b565b9150508091505092915050565b5f610c0e8383610ba3565b905092915050565b5f602082019050919050565b5f610c2c82610afc565b610c368185610b06565b935083602082028501610c4885610b16565b805f5b85811015610c835784840389528151610c648582610c03565b9450610c6f83610c16565b925060208a01995050600181019050610c4b565b50829750879550505050505092915050565b5f6020820190508181035f830152610cad8184610c22565b905092915050565b5f5f60408385031215610ccb57610cca610772565b5b5f610cd885828601610854565b9250506020610ce985828601610854565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f610d278383610b25565b60208301905092915050565b5f602082019050919050565b5f610d4982610cf3565b610d538185610cfd565b9350610d5e83610d0d565b805f5b83811015610d8e578151610d758882610d1c565b9750610d8083610d33565b925050600181019050610d61565b5085935050505092915050565b5f6020820190508181035f830152610db38184610d3f565b905092915050565b5f5f5f5f5f60a08688031215610dd457610dd3610772565b5b5f610de188828901610854565b9550506020610df28882890161094a565b9450506040610e0388828901610a39565b9350506060610e148882890161094a565b9250506080610e2588828901610854565b9150509295509295909350565b5f608083015f830151610e475f860182610b25565b506020830151610e5a6020860182610b34565b506040830151610e6d6040860182610b34565b5060608301518482036060860152610e858282610b6b565b9150508091505092915050565b5f6020820190508181035f830152610eaa8184610e32565b905092915050565b5f5f60408385031215610ec857610ec7610772565b5b5f83013567ffffffffffffffff811115610ee557610ee4610776565b5b610ef1858286016108d0565b925050602083013567ffffffffffffffff811115610f1257610f11610776565b5b610f1e858286016108d0565b9150509250929050565b610f3181610835565b82525050565b5f602082019050610f4a5f830184610f28565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f604082019050610f905f830185610f28565b610f9d6020830184610f28565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610fdb82610835565b9150610fe683610835565b9250828201905080821115610ffe57610ffd610fa4565b5b92915050565b5f81905092915050565b5f61101882610b43565b6110228185611004565b9350611032818560208601610b5d565b80840191505092915050565b5f611049828461100e565b915081905092915050565b5f61105f828561100e565b915061106b828461100e565b91508190509392505050565b5f819050919050565b61109161108c82610835565b611077565b82525050565b5f6110a28284611080565b60208201915081905092915050565b5f819050919050565b5f819050919050565b6110d46110cf826110b1565b6110ba565b82525050565b5f6110e5828561100e565b91506110f182846110c3565b6020820191508190509392505050565b5f61110b82610835565b915061111683610835565b925082820390508181111561112e5761112d610fa4565b5b9291505056fea26469706673582212204ba923043ce29591b7adc03799bc10ed8ad01de2292597489dc1f8fb79510c4864736f6c63430008210033',
|
|
266
|
+
} satisfies MockArtifact;
|