@latticexyz/world 1.40.0 → 1.41.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 (84) hide show
  1. package/LICENSE +21 -0
  2. package/abi/AddressArraySchemaLib.json +718 -869
  3. package/abi/BoolSchemaLib.json +401 -401
  4. package/abi/Bytes.json +1162 -1162
  5. package/abi/CommonBase.json +125 -125
  6. package/abi/DSTest.json +2630 -2630
  7. package/abi/DecodeSlice.json +3883 -3883
  8. package/abi/EncodeArray.json +3336 -3336
  9. package/abi/Hooks.json +1491 -785
  10. package/abi/IMulticall3.json +283 -283
  11. package/abi/IStore.json +623 -421
  12. package/abi/IStoreHook.json +567 -421
  13. package/abi/ISystemHook.json +19 -19
  14. package/abi/Memory.json +131 -131
  15. package/abi/PackedCounterLib.json +683 -683
  16. package/abi/RouteAccess.json +2209 -1159
  17. package/abi/RouteOwnerSchemaLib.json +349 -349
  18. package/abi/RouteOwnerTable.json +297 -297
  19. package/abi/RouteSchemaLib.json +433 -433
  20. package/abi/RouteTable.json +336 -336
  21. package/abi/SchemaLib.json +1211 -1211
  22. package/abi/ScriptBase.json +125 -125
  23. package/abi/SliceInstance.json +429 -429
  24. package/abi/SliceLib.json +429 -429
  25. package/abi/StdAssertions.json +2135 -2135
  26. package/abi/StdChains.json +1051 -1051
  27. package/abi/StdCheats.json +3257 -3257
  28. package/abi/StdCheatsSafe.json +3257 -3257
  29. package/abi/StdInvariant.json +337 -337
  30. package/abi/StdUtils.json +1122 -1122
  31. package/abi/Storage.json +491 -491
  32. package/abi/Store.json +374 -209
  33. package/abi/StoreCore.json +10665 -7865
  34. package/abi/StoreCoreExtended.json +10443 -7722
  35. package/abi/StoreCoreInternal.json +10482 -7638
  36. package/abi/StoreMetadata.json +3719 -2417
  37. package/abi/StoreSwitch.json +1692 -783
  38. package/abi/System.json +16 -16
  39. package/abi/SystemRouteSchemaLib.json +402 -402
  40. package/abi/SystemRouteTable.json +336 -336
  41. package/abi/SystemTable.json +8544 -651
  42. package/abi/SystemTest.json +287 -303
  43. package/abi/Test.json +124 -124
  44. package/abi/TestBase.json +125 -125
  45. package/abi/TestSystem.json +287 -303
  46. package/abi/TightCoder.json +272 -272
  47. package/abi/Utils.json +67 -67
  48. package/abi/Vm.json +1850 -1850
  49. package/abi/VmSafe.json +1850 -1850
  50. package/abi/World.json +5183 -3374
  51. package/abi/WorldTest.json +9983 -10520
  52. package/abi/WorldTestSystem.json +9992 -10503
  53. package/abi/WorldTestTableHook.json +9978 -10511
  54. package/abi/console.json +11417 -11417
  55. package/abi/console2.json +11459 -11459
  56. package/abi/stdError.json +79 -79
  57. package/abi/stdJson.json +1016 -1016
  58. package/abi/stdMath.json +218 -218
  59. package/abi/stdStorage.json +2400 -2400
  60. package/abi/stdStorageSafe.json +2400 -2400
  61. package/package.json +8 -8
  62. package/src/World.sol +78 -32
  63. package/src/schemas/AddressArray.sol +5 -19
  64. package/src/tables/RouteAccess.sol +35 -30
  65. package/src/tables/SystemTable.sol +142 -23
  66. package/types/ethers-contracts/IStore.ts +49 -0
  67. package/types/ethers-contracts/Store.ts +49 -0
  68. package/types/ethers-contracts/World.ts +94 -0
  69. package/types/ethers-contracts/WorldTest.ts +27 -0
  70. package/types/ethers-contracts/factories/IStore__factory.ts +28 -0
  71. package/types/ethers-contracts/factories/StoreCore__factory.ts +2 -23
  72. package/types/ethers-contracts/factories/StoreSwitch__factory.ts +1 -1
  73. package/types/ethers-contracts/factories/Store__factory.ts +81 -0
  74. package/types/ethers-contracts/factories/SystemTest__factory.ts +1 -1
  75. package/types/ethers-contracts/factories/TestSystem__factory.ts +1 -1
  76. package/types/ethers-contracts/factories/WorldTestSystem__factory.ts +12 -1
  77. package/types/ethers-contracts/factories/WorldTestTableHook__factory.ts +1 -1
  78. package/types/ethers-contracts/factories/WorldTest__factory.ts +11 -34
  79. package/types/ethers-contracts/factories/World__factory.ts +70 -30
  80. package/types/ethers-contracts/index.ts +0 -2
  81. package/abi/SystemSchemaLib.json +0 -3704
  82. package/src/schemas/SystemSchema.sol +0 -78
  83. package/types/ethers-contracts/StoreCoreExtended.ts +0 -141
  84. package/types/ethers-contracts/factories/StoreCoreExtended__factory.ts +0 -123
@@ -30,6 +30,7 @@ export interface IStoreInterface extends utils.Interface {
30
30
  "getRecord(uint256,bytes32[],bytes32)": FunctionFragment;
31
31
  "getSchema(uint256)": FunctionFragment;
32
32
  "isStore()": FunctionFragment;
33
+ "pushToField(uint256,bytes32[],uint8,bytes)": FunctionFragment;
33
34
  "registerSchema(uint256,bytes32)": FunctionFragment;
34
35
  "registerStoreHook(uint256,address)": FunctionFragment;
35
36
  "setField(uint256,bytes32[],uint8,bytes)": FunctionFragment;
@@ -54,6 +55,10 @@ export interface IStoreInterface extends utils.Interface {
54
55
  values: [BigNumberish]
55
56
  ): string;
56
57
  encodeFunctionData(functionFragment: "isStore", values?: undefined): string;
58
+ encodeFunctionData(
59
+ functionFragment: "pushToField",
60
+ values: [BigNumberish, BytesLike[], BigNumberish, BytesLike]
61
+ ): string;
57
62
  encodeFunctionData(
58
63
  functionFragment: "registerSchema",
59
64
  values: [BigNumberish, BytesLike]
@@ -83,6 +88,10 @@ export interface IStoreInterface extends utils.Interface {
83
88
  decodeFunctionResult(functionFragment: "getRecord", data: BytesLike): Result;
84
89
  decodeFunctionResult(functionFragment: "getSchema", data: BytesLike): Result;
85
90
  decodeFunctionResult(functionFragment: "isStore", data: BytesLike): Result;
91
+ decodeFunctionResult(
92
+ functionFragment: "pushToField",
93
+ data: BytesLike
94
+ ): Result;
86
95
  decodeFunctionResult(
87
96
  functionFragment: "registerSchema",
88
97
  data: BytesLike
@@ -192,6 +201,14 @@ export interface IStore extends BaseContract {
192
201
 
193
202
  isStore(overrides?: CallOverrides): Promise<[void]>;
194
203
 
204
+ pushToField(
205
+ table: BigNumberish,
206
+ key: BytesLike[],
207
+ schemaIndex: BigNumberish,
208
+ dataToPush: BytesLike,
209
+ overrides?: Overrides & { from?: string | Promise<string> }
210
+ ): Promise<ContractTransaction>;
211
+
195
212
  registerSchema(
196
213
  table: BigNumberish,
197
214
  schema: BytesLike,
@@ -257,6 +274,14 @@ export interface IStore extends BaseContract {
257
274
 
258
275
  isStore(overrides?: CallOverrides): Promise<void>;
259
276
 
277
+ pushToField(
278
+ table: BigNumberish,
279
+ key: BytesLike[],
280
+ schemaIndex: BigNumberish,
281
+ dataToPush: BytesLike,
282
+ overrides?: Overrides & { from?: string | Promise<string> }
283
+ ): Promise<ContractTransaction>;
284
+
260
285
  registerSchema(
261
286
  table: BigNumberish,
262
287
  schema: BytesLike,
@@ -322,6 +347,14 @@ export interface IStore extends BaseContract {
322
347
 
323
348
  isStore(overrides?: CallOverrides): Promise<void>;
324
349
 
350
+ pushToField(
351
+ table: BigNumberish,
352
+ key: BytesLike[],
353
+ schemaIndex: BigNumberish,
354
+ dataToPush: BytesLike,
355
+ overrides?: CallOverrides
356
+ ): Promise<void>;
357
+
325
358
  registerSchema(
326
359
  table: BigNumberish,
327
360
  schema: BytesLike,
@@ -423,6 +456,14 @@ export interface IStore extends BaseContract {
423
456
 
424
457
  isStore(overrides?: CallOverrides): Promise<BigNumber>;
425
458
 
459
+ pushToField(
460
+ table: BigNumberish,
461
+ key: BytesLike[],
462
+ schemaIndex: BigNumberish,
463
+ dataToPush: BytesLike,
464
+ overrides?: Overrides & { from?: string | Promise<string> }
465
+ ): Promise<BigNumber>;
466
+
426
467
  registerSchema(
427
468
  table: BigNumberish,
428
469
  schema: BytesLike,
@@ -492,6 +533,14 @@ export interface IStore extends BaseContract {
492
533
 
493
534
  isStore(overrides?: CallOverrides): Promise<PopulatedTransaction>;
494
535
 
536
+ pushToField(
537
+ table: BigNumberish,
538
+ key: BytesLike[],
539
+ schemaIndex: BigNumberish,
540
+ dataToPush: BytesLike,
541
+ overrides?: Overrides & { from?: string | Promise<string> }
542
+ ): Promise<PopulatedTransaction>;
543
+
495
544
  registerSchema(
496
545
  table: BigNumberish,
497
546
  schema: BytesLike,
@@ -30,6 +30,7 @@ export interface StoreInterface extends utils.Interface {
30
30
  "getRecord(uint256,bytes32[],bytes32)": FunctionFragment;
31
31
  "getSchema(uint256)": FunctionFragment;
32
32
  "isStore()": FunctionFragment;
33
+ "pushToField(uint256,bytes32[],uint8,bytes)": FunctionFragment;
33
34
  "registerSchema(uint256,bytes32)": FunctionFragment;
34
35
  "registerStoreHook(uint256,address)": FunctionFragment;
35
36
  "setField(uint256,bytes32[],uint8,bytes)": FunctionFragment;
@@ -54,6 +55,10 @@ export interface StoreInterface extends utils.Interface {
54
55
  values: [BigNumberish]
55
56
  ): string;
56
57
  encodeFunctionData(functionFragment: "isStore", values?: undefined): string;
58
+ encodeFunctionData(
59
+ functionFragment: "pushToField",
60
+ values: [BigNumberish, BytesLike[], BigNumberish, BytesLike]
61
+ ): string;
57
62
  encodeFunctionData(
58
63
  functionFragment: "registerSchema",
59
64
  values: [BigNumberish, BytesLike]
@@ -83,6 +88,10 @@ export interface StoreInterface extends utils.Interface {
83
88
  decodeFunctionResult(functionFragment: "getRecord", data: BytesLike): Result;
84
89
  decodeFunctionResult(functionFragment: "getSchema", data: BytesLike): Result;
85
90
  decodeFunctionResult(functionFragment: "isStore", data: BytesLike): Result;
91
+ decodeFunctionResult(
92
+ functionFragment: "pushToField",
93
+ data: BytesLike
94
+ ): Result;
86
95
  decodeFunctionResult(
87
96
  functionFragment: "registerSchema",
88
97
  data: BytesLike
@@ -192,6 +201,14 @@ export interface Store extends BaseContract {
192
201
 
193
202
  isStore(overrides?: CallOverrides): Promise<[void]>;
194
203
 
204
+ pushToField(
205
+ table: BigNumberish,
206
+ key: BytesLike[],
207
+ schemaIndex: BigNumberish,
208
+ dataToPush: BytesLike,
209
+ overrides?: Overrides & { from?: string | Promise<string> }
210
+ ): Promise<ContractTransaction>;
211
+
195
212
  registerSchema(
196
213
  table: BigNumberish,
197
214
  schema: BytesLike,
@@ -257,6 +274,14 @@ export interface Store extends BaseContract {
257
274
 
258
275
  isStore(overrides?: CallOverrides): Promise<void>;
259
276
 
277
+ pushToField(
278
+ table: BigNumberish,
279
+ key: BytesLike[],
280
+ schemaIndex: BigNumberish,
281
+ dataToPush: BytesLike,
282
+ overrides?: Overrides & { from?: string | Promise<string> }
283
+ ): Promise<ContractTransaction>;
284
+
260
285
  registerSchema(
261
286
  table: BigNumberish,
262
287
  schema: BytesLike,
@@ -322,6 +347,14 @@ export interface Store extends BaseContract {
322
347
 
323
348
  isStore(overrides?: CallOverrides): Promise<void>;
324
349
 
350
+ pushToField(
351
+ table: BigNumberish,
352
+ key: BytesLike[],
353
+ schemaIndex: BigNumberish,
354
+ dataToPush: BytesLike,
355
+ overrides?: CallOverrides
356
+ ): Promise<void>;
357
+
325
358
  registerSchema(
326
359
  table: BigNumberish,
327
360
  schema: BytesLike,
@@ -423,6 +456,14 @@ export interface Store extends BaseContract {
423
456
 
424
457
  isStore(overrides?: CallOverrides): Promise<BigNumber>;
425
458
 
459
+ pushToField(
460
+ table: BigNumberish,
461
+ key: BytesLike[],
462
+ schemaIndex: BigNumberish,
463
+ dataToPush: BytesLike,
464
+ overrides?: Overrides & { from?: string | Promise<string> }
465
+ ): Promise<BigNumber>;
466
+
426
467
  registerSchema(
427
468
  table: BigNumberish,
428
469
  schema: BytesLike,
@@ -492,6 +533,14 @@ export interface Store extends BaseContract {
492
533
 
493
534
  isStore(overrides?: CallOverrides): Promise<PopulatedTransaction>;
494
535
 
536
+ pushToField(
537
+ table: BigNumberish,
538
+ key: BytesLike[],
539
+ schemaIndex: BigNumberish,
540
+ dataToPush: BytesLike,
541
+ overrides?: Overrides & { from?: string | Promise<string> }
542
+ ): Promise<PopulatedTransaction>;
543
+
495
544
  registerSchema(
496
545
  table: BigNumberish,
497
546
  schema: BytesLike,
@@ -32,6 +32,7 @@ export interface WorldInterface extends utils.Interface {
32
32
  "getSchema(uint256)": FunctionFragment;
33
33
  "grantAccess(string,address)": FunctionFragment;
34
34
  "isStore()": FunctionFragment;
35
+ "pushToField(string,string,bytes32[],uint8,bytes)": FunctionFragment;
35
36
  "registerRoute(string,string)": FunctionFragment;
36
37
  "registerSchema(uint256,bytes32)": FunctionFragment;
37
38
  "registerStoreHook(uint256,address)": FunctionFragment;
@@ -70,6 +71,10 @@ export interface WorldInterface extends utils.Interface {
70
71
  values: [string, string]
71
72
  ): string;
72
73
  encodeFunctionData(functionFragment: "isStore", values?: undefined): string;
74
+ encodeFunctionData(
75
+ functionFragment: "pushToField",
76
+ values: [string, string, BytesLike[], BigNumberish, BytesLike]
77
+ ): string;
73
78
  encodeFunctionData(
74
79
  functionFragment: "registerRoute",
75
80
  values: [string, string]
@@ -128,6 +133,10 @@ export interface WorldInterface extends utils.Interface {
128
133
  data: BytesLike
129
134
  ): Result;
130
135
  decodeFunctionResult(functionFragment: "isStore", data: BytesLike): Result;
136
+ decodeFunctionResult(
137
+ functionFragment: "pushToField",
138
+ data: BytesLike
139
+ ): Result;
131
140
  decodeFunctionResult(
132
141
  functionFragment: "registerRoute",
133
142
  data: BytesLike
@@ -287,6 +296,23 @@ export interface World extends BaseContract {
287
296
 
288
297
  isStore(overrides?: CallOverrides): Promise<[void]>;
289
298
 
299
+ "pushToField(string,string,bytes32[],uint8,bytes)"(
300
+ accessRoute: string,
301
+ subRoute: string,
302
+ key: BytesLike[],
303
+ schemaIndex: BigNumberish,
304
+ dataToPush: BytesLike,
305
+ overrides?: Overrides & { from?: string | Promise<string> }
306
+ ): Promise<ContractTransaction>;
307
+
308
+ "pushToField(uint256,bytes32[],uint8,bytes)"(
309
+ tableRouteId: BigNumberish,
310
+ key: BytesLike[],
311
+ schemaIndex: BigNumberish,
312
+ dataToPush: BytesLike,
313
+ overrides?: Overrides & { from?: string | Promise<string> }
314
+ ): Promise<ContractTransaction>;
315
+
290
316
  registerRoute(
291
317
  baseRoute: string,
292
318
  subRoute: string,
@@ -441,6 +467,23 @@ export interface World extends BaseContract {
441
467
 
442
468
  isStore(overrides?: CallOverrides): Promise<void>;
443
469
 
470
+ "pushToField(string,string,bytes32[],uint8,bytes)"(
471
+ accessRoute: string,
472
+ subRoute: string,
473
+ key: BytesLike[],
474
+ schemaIndex: BigNumberish,
475
+ dataToPush: BytesLike,
476
+ overrides?: Overrides & { from?: string | Promise<string> }
477
+ ): Promise<ContractTransaction>;
478
+
479
+ "pushToField(uint256,bytes32[],uint8,bytes)"(
480
+ tableRouteId: BigNumberish,
481
+ key: BytesLike[],
482
+ schemaIndex: BigNumberish,
483
+ dataToPush: BytesLike,
484
+ overrides?: Overrides & { from?: string | Promise<string> }
485
+ ): Promise<ContractTransaction>;
486
+
444
487
  registerRoute(
445
488
  baseRoute: string,
446
489
  subRoute: string,
@@ -595,6 +638,23 @@ export interface World extends BaseContract {
595
638
 
596
639
  isStore(overrides?: CallOverrides): Promise<void>;
597
640
 
641
+ "pushToField(string,string,bytes32[],uint8,bytes)"(
642
+ accessRoute: string,
643
+ subRoute: string,
644
+ key: BytesLike[],
645
+ schemaIndex: BigNumberish,
646
+ dataToPush: BytesLike,
647
+ overrides?: CallOverrides
648
+ ): Promise<void>;
649
+
650
+ "pushToField(uint256,bytes32[],uint8,bytes)"(
651
+ tableRouteId: BigNumberish,
652
+ key: BytesLike[],
653
+ schemaIndex: BigNumberish,
654
+ dataToPush: BytesLike,
655
+ overrides?: CallOverrides
656
+ ): Promise<void>;
657
+
598
658
  registerRoute(
599
659
  baseRoute: string,
600
660
  subRoute: string,
@@ -785,6 +845,23 @@ export interface World extends BaseContract {
785
845
 
786
846
  isStore(overrides?: CallOverrides): Promise<BigNumber>;
787
847
 
848
+ "pushToField(string,string,bytes32[],uint8,bytes)"(
849
+ accessRoute: string,
850
+ subRoute: string,
851
+ key: BytesLike[],
852
+ schemaIndex: BigNumberish,
853
+ dataToPush: BytesLike,
854
+ overrides?: Overrides & { from?: string | Promise<string> }
855
+ ): Promise<BigNumber>;
856
+
857
+ "pushToField(uint256,bytes32[],uint8,bytes)"(
858
+ tableRouteId: BigNumberish,
859
+ key: BytesLike[],
860
+ schemaIndex: BigNumberish,
861
+ dataToPush: BytesLike,
862
+ overrides?: Overrides & { from?: string | Promise<string> }
863
+ ): Promise<BigNumber>;
864
+
788
865
  registerRoute(
789
866
  baseRoute: string,
790
867
  subRoute: string,
@@ -943,6 +1020,23 @@ export interface World extends BaseContract {
943
1020
 
944
1021
  isStore(overrides?: CallOverrides): Promise<PopulatedTransaction>;
945
1022
 
1023
+ "pushToField(string,string,bytes32[],uint8,bytes)"(
1024
+ accessRoute: string,
1025
+ subRoute: string,
1026
+ key: BytesLike[],
1027
+ schemaIndex: BigNumberish,
1028
+ dataToPush: BytesLike,
1029
+ overrides?: Overrides & { from?: string | Promise<string> }
1030
+ ): Promise<PopulatedTransaction>;
1031
+
1032
+ "pushToField(uint256,bytes32[],uint8,bytes)"(
1033
+ tableRouteId: BigNumberish,
1034
+ key: BytesLike[],
1035
+ schemaIndex: BigNumberish,
1036
+ dataToPush: BytesLike,
1037
+ overrides?: Overrides & { from?: string | Promise<string> }
1038
+ ): Promise<PopulatedTransaction>;
1039
+
946
1040
  registerRoute(
947
1041
  baseRoute: string,
948
1042
  subRoute: string,
@@ -54,6 +54,7 @@ export interface WorldTestInterface extends utils.Interface {
54
54
  "testIsRoute()": FunctionFragment;
55
55
  "testIsSingleLevelRoute()": FunctionFragment;
56
56
  "testIsStore()": FunctionFragment;
57
+ "testPushToField()": FunctionFragment;
57
58
  "testRegisterRoute()": FunctionFragment;
58
59
  "testRegisterSystem()": FunctionFragment;
59
60
  "testRegisterSystemHook()": FunctionFragment;
@@ -139,6 +140,10 @@ export interface WorldTestInterface extends utils.Interface {
139
140
  functionFragment: "testIsStore",
140
141
  values?: undefined
141
142
  ): string;
143
+ encodeFunctionData(
144
+ functionFragment: "testPushToField",
145
+ values?: undefined
146
+ ): string;
142
147
  encodeFunctionData(
143
148
  functionFragment: "testRegisterRoute",
144
149
  values?: undefined
@@ -256,6 +261,10 @@ export interface WorldTestInterface extends utils.Interface {
256
261
  functionFragment: "testIsStore",
257
262
  data: BytesLike
258
263
  ): Result;
264
+ decodeFunctionResult(
265
+ functionFragment: "testPushToField",
266
+ data: BytesLike
267
+ ): Result;
259
268
  decodeFunctionResult(
260
269
  functionFragment: "testRegisterRoute",
261
270
  data: BytesLike
@@ -612,6 +621,10 @@ export interface WorldTest extends BaseContract {
612
621
 
613
622
  testIsStore(overrides?: CallOverrides): Promise<[void]>;
614
623
 
624
+ testPushToField(
625
+ overrides?: Overrides & { from?: string | Promise<string> }
626
+ ): Promise<ContractTransaction>;
627
+
615
628
  testRegisterRoute(
616
629
  overrides?: Overrides & { from?: string | Promise<string> }
617
630
  ): Promise<ContractTransaction>;
@@ -723,6 +736,10 @@ export interface WorldTest extends BaseContract {
723
736
 
724
737
  testIsStore(overrides?: CallOverrides): Promise<void>;
725
738
 
739
+ testPushToField(
740
+ overrides?: Overrides & { from?: string | Promise<string> }
741
+ ): Promise<ContractTransaction>;
742
+
726
743
  testRegisterRoute(
727
744
  overrides?: Overrides & { from?: string | Promise<string> }
728
745
  ): Promise<ContractTransaction>;
@@ -812,6 +829,8 @@ export interface WorldTest extends BaseContract {
812
829
 
813
830
  testIsStore(overrides?: CallOverrides): Promise<void>;
814
831
 
832
+ testPushToField(overrides?: CallOverrides): Promise<void>;
833
+
815
834
  testRegisterRoute(overrides?: CallOverrides): Promise<void>;
816
835
 
817
836
  testRegisterSystem(overrides?: CallOverrides): Promise<void>;
@@ -1007,6 +1026,10 @@ export interface WorldTest extends BaseContract {
1007
1026
 
1008
1027
  testIsStore(overrides?: CallOverrides): Promise<BigNumber>;
1009
1028
 
1029
+ testPushToField(
1030
+ overrides?: Overrides & { from?: string | Promise<string> }
1031
+ ): Promise<BigNumber>;
1032
+
1010
1033
  testRegisterRoute(
1011
1034
  overrides?: Overrides & { from?: string | Promise<string> }
1012
1035
  ): Promise<BigNumber>;
@@ -1117,6 +1140,10 @@ export interface WorldTest extends BaseContract {
1117
1140
 
1118
1141
  testIsStore(overrides?: CallOverrides): Promise<PopulatedTransaction>;
1119
1142
 
1143
+ testPushToField(
1144
+ overrides?: Overrides & { from?: string | Promise<string> }
1145
+ ): Promise<PopulatedTransaction>;
1146
+
1120
1147
  testRegisterRoute(
1121
1148
  overrides?: Overrides & { from?: string | Promise<string> }
1122
1149
  ): Promise<PopulatedTransaction>;
@@ -208,6 +208,34 @@ const _abi = [
208
208
  stateMutability: "view",
209
209
  type: "function",
210
210
  },
211
+ {
212
+ inputs: [
213
+ {
214
+ internalType: "uint256",
215
+ name: "table",
216
+ type: "uint256",
217
+ },
218
+ {
219
+ internalType: "bytes32[]",
220
+ name: "key",
221
+ type: "bytes32[]",
222
+ },
223
+ {
224
+ internalType: "uint8",
225
+ name: "schemaIndex",
226
+ type: "uint8",
227
+ },
228
+ {
229
+ internalType: "bytes",
230
+ name: "dataToPush",
231
+ type: "bytes",
232
+ },
233
+ ],
234
+ name: "pushToField",
235
+ outputs: [],
236
+ stateMutability: "nonpayable",
237
+ type: "function",
238
+ },
211
239
  {
212
240
  inputs: [
213
241
  {
@@ -6,27 +6,6 @@ import { Provider, TransactionRequest } from "@ethersproject/providers";
6
6
  import type { StoreCore, StoreCoreInterface } from "../StoreCore";
7
7
 
8
8
  const _abi = [
9
- {
10
- inputs: [
11
- {
12
- internalType: "bytes",
13
- name: "data",
14
- type: "bytes",
15
- },
16
- {
17
- internalType: "uint256",
18
- name: "start",
19
- type: "uint256",
20
- },
21
- {
22
- internalType: "uint256",
23
- name: "end",
24
- type: "uint256",
25
- },
26
- ],
27
- name: "Slice_OutOfBounds",
28
- type: "error",
29
- },
30
9
  {
31
10
  inputs: [
32
11
  {
@@ -61,7 +40,7 @@ const _abi = [
61
40
  },
62
41
  {
63
42
  inputs: [],
64
- name: "StoreCore_NoDynamicField",
43
+ name: "StoreCore_NotDynamicField",
65
44
  type: "error",
66
45
  },
67
46
  {
@@ -169,7 +148,7 @@ const _abi = [
169
148
  ];
170
149
 
171
150
  const _bytecode =
172
- "0x61131261003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c8063cf6ca70e1461003a575b600080fd5b81801561004657600080fd5b5061005a610055366004610ed2565b61005c565b005b610066828261006a565b5050565b6040805160018082528183019092526000916020808301908036833701905050905082816000815181106100a0576100a0610f31565b602090810291909101015260006100d87f06b5dc7e596fa43e25167e48d832e4c70496213f6ed3461c2907e02250aa88a78383610173565b60408051606086901b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000166020820152815160148183030181526034820190925291925060009161012d918491605401610f73565b60408051601f19818403018152919052905061016c7f06b5dc7e596fa43e25167e48d832e4c70496213f6ed3461c2907e02250aa88a784600084610220565b5050505050565b606061017d6102b9565b156101945761018d848484610337565b9050610219565b6040517fd4a0126e000000000000000000000000000000000000000000000000000000008152339063d4a0126e906101d490879087908790600401610fdd565b600060405180830381865afa1580156101f1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261018d9190810190611009565b9392505050565b6102286102b9565b1561023e576102398484848461035b565b6102b3565b6040517f91c45d2200000000000000000000000000000000000000000000000000000000815233906391c45d22906102809087908790879087906004016110e2565b600060405180830381600087803b15801561029a57600080fd5b505af11580156102ae573d6000803e3d6000fd5b505050505b50505050565b6000303b8082036102cc57600191505090565b3073ffffffffffffffffffffffffffffffffffffffff1663a5c2f0076040518163ffffffff1660e01b815260040160006040518083038186803b15801561031257600080fd5b505afa925050508015610323575060015b61032f57600091505090565b600191505090565b606060006103448561049b565b9050610352858585846104ac565b95945050505050565b60006103668561049b565b90507f69ed0315cadd84320a7846d07030f3f22e49893b69216566c8e95d35c34512ce8585858560405161039d94939291906110e2565b60405180910390a160006103b0866104e7565b905060005b81518110156104615760008282815181106103d2576103d2610f31565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff16637d09d033898989896040518563ffffffff1660e01b815260040161041b94939291906110e2565b600060405180830381600087803b15801561043557600080fd5b505af1158015610449573d6000803e3d6000fd5b505050505080806104599061112c565b9150506103b5565b5060ff60e883901c81169085161015610486576104818686848787610570565b610493565b6104938686848787610620565b505050505050565b60006104a682610664565b92915050565b606060ff60e883901c811690841610156104d3576104cc858585856106e1565b90506104df565b6104cc85858585610741565b949350505050565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061052157610521610f31565b602090810291909101015260006105597f06b5dc7e596fa43e25167e48d832e4c70496213f6ed3461c2907e02250aa88a78383610173565b90506104df61056b8260008451610798565b610828565b600061057f8460ff8516610839565b9050815161059d8260c581111561059857610598611146565b610865565b146105f9576105b78160c581111561059857610598611146565b82516040517f521b3d33000000000000000000000000000000000000000000000000000000008152600481019290925260248201526044015b60405180910390fd5b60006106058787610916565b90506000610613868661096c565b90506102ae8282866109c0565b600061063360ff60e886901c168461115c565b905061064286868385516109d5565b600061064f878784610a07565b905061065b8184610a60565b50505050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508260001b816000815181106106a0576106a0610f31565b602090810291909101015260006106d77f466b87090ce2bc34362737dab7b900dfc94a202aee6a6323f6813f7ce59d975e83610916565b90506104df815490565b606060006106f28360ff8616610839565b9050600061070b8260c581111561059857610598611146565b905060006107198888610916565b90506000610727868861096c565b9050610734828483610a6c565b9998505050505050505050565b6060600061075660ff60e885901c168561115c565b90506000610765878784610a07565b905060006107808360ff1661077a8a8a610ac4565b90610ad1565b905061078c8282610b03565b98975050505050505050565b60008183111580156107ab575083518211155b6107e7578383836040517f23230fa30000000000000000000000000000000000000000000000000000000081526004016105f09392919061117f565b602084016107f584826111a4565b9050600061080385856111bc565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b606060006102198360146000610b11565b60006108518361084a8460046111a4565b6008021b90565b60f81c60c581111561021957610219611146565b6000808260c581111561087a5761087a611146565b60ff1690506020811015610893576102198160016111a4565b60408110156108b35760206108a98260016111a4565b61021991906111bc565b60608110156108c95760406108a98260016111a4565b60608360c58111156108dd576108dd611146565b036108eb5750600192915050565b60618360c58111156108ff576108ff611146565b0361090d5750601492915050565b50600092915050565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9838360405160200161094d939291906111d3565b60408051601f1981840301815291905280516020909101209392505050565b600080805b8360ff168110156109b85761099a6109898683610839565b60c581111561059857610598611146565b6109a490836111a4565b9150806109b08161112c565b915050610971565b509392505050565b60006020820190506102b38484838551610c54565b60006109e18585610d12565b905060006109ed825490565b90506109fd8160ff861685610d49565b8083559050610493565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9848484604051602001610a4094939291906111f2565b60408051601f198184030181529190528051602090910120949350505050565b610066826000836109c0565b60608267ffffffffffffffff811115610a8757610a87610f1b565b6040519080825280601f01601f191660200182016040528015610ab1576020820181803683370190505b509050602081016109b885858584610e1d565b6000806106d78484610d12565b600080610adf836002611225565b610aea9060046111a4565b9050610af884826008021b90565b60f01c949350505050565b606061021983836000610a6c565b60606000610b1f8560801c90565b90506fffffffffffffffffffffffffffffffff8516600084610b5757610b46866008611225565b610b52906101006111bc565b610b5a565b60005b90506000868381610b6d57610b6d611244565b049050610b7a878461125a565b15610c07576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603d60248201527f756e7061636b546f41727261793a207061636b65644c656e677468206d75737460448201527f2062652061206d756c7469706c65206f6620656c656d656e7453697a6500000060648201526084016105f0565b602080820201604051955080860160405250808552600060208601855b83831015610c46578051851c8252600192909201916020909101908901610c24565b505050505050509392505050565b602083048401935060208381610c6c57610c6c611244565b0692508215610cc55760208390036000600019600884021c1990506008850281811c91508451811c9050811987541682821617875550818311610cb05750506102b3565b610cbb6001876111a4565b9550509182019190035b60208110610cee5781518455610cdc6001856111a4565b935060209190910190601f1901610cc5565b80156102b3576000600019600883021c198554845182169119161785555050505050565b60007f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9838360405160200161094d9392919061127c565b60008381610d578260e01c90565b90506000610d68878760ff16610ad1565b9050808510610d8c57610d7b81866111bc565b610d8590836111a4565b9150610da3565b610d9685826111bc565b610da090836111bc565b91505b6000610db0876002611225565b610dbb9060046111a4565b90507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff841660e084901b1793507fffff0000000000000000000000000000000000000000000000000000000000006008820290811c19851660f088901b90911c1761078c565b602082048401935060208281610e3557610e35611244565b0691508115610e865760208290036000600019600883021c1990508554600885021b811984511682821617845250818511610e715750506102b3565b610e7c6001876111a4565b9550509283900392015b60208310610eae5783548152610e9d6001856111a4565b9350601f1990920191602001610e86565b82156102b3576000600019600885021c198251865482169119161782525050505050565b60008060408385031215610ee557600080fd5b82359150602083013573ffffffffffffffffffffffffffffffffffffffff81168114610f1057600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b60005b83811015610f62578181015183820152602001610f4a565b838111156102b35750506000910152565b60008351610f85818460208801610f47565b835190830190610f99818360208801610f47565b01949350505050565b600081518084526020808501945080840160005b83811015610fd257815187529582019590820190600101610fb6565b509495945050505050565b838152606060208201526000610ff66060830185610fa2565b905060ff83166040830152949350505050565b60006020828403121561101b57600080fd5b815167ffffffffffffffff8082111561103357600080fd5b818401915084601f83011261104757600080fd5b81518181111561105957611059610f1b565b604051601f8201601f19908116603f0116810190838211818310171561108157611081610f1b565b8160405282815287602084870101111561109a57600080fd5b6110ab836020830160208801610f47565b979650505050505050565b600081518084526110ce816020860160208601610f47565b601f01601f19169290920160200192915050565b8481526080602082015260006110fb6080830186610fa2565b60ff8516604084015282810360608401526110ab81856110b6565b634e487b7160e01b600052601160045260246000fd5b6000600019820361113f5761113f611116565b5060010190565b634e487b7160e01b600052602160045260246000fd5b600060ff821660ff84168082101561117657611176611116565b90039392505050565b60608152600061119260608301866110b6565b60208301949094525060400152919050565b600082198211156111b7576111b7611116565b500190565b6000828210156111ce576111ce611116565b500390565b8381528260208201526060604082015260006103526060830184610fa2565b8481528360208201526080604082015260006112116080830185610fa2565b905060ff8316606083015295945050505050565b600081600019048311821515161561123f5761123f611116565b500290565b634e487b7160e01b600052601260045260246000fd5b60008261127757634e487b7160e01b600052601260045260246000fd5b500690565b83815282602082015260806040820152600061129b6080830184610fa2565b8281036060840152600681527f6c656e677468000000000000000000000000000000000000000000000000000060208201526040810191505094935050505056fea264697066735822122079f1d77a837a4d768d8349002bc173334f637c74099c7ea41bf78d5515654b5364736f6c634300080d0033";
151
+ "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220c43a824003a654b5eb7afa67325b53804d6ad1611463a45b759188c69684aef764736f6c634300080d0033";
173
152
 
174
153
  type StoreCoreConstructorParams =
175
154
  | [signer?: Signer]
@@ -14,7 +14,7 @@ const _abi = [
14
14
  ];
15
15
 
16
16
  const _bytecode =
17
- "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212208dc2d701f3173089f170d2eed45968d46078166bc413649c615178cf9a05f60364736f6c634300080d0033";
17
+ "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220af17b4b362ca76f1b5ec6578bb7a391529b1dc3ad45470cf06c539de3207471764736f6c634300080d0033";
18
18
 
19
19
  type StoreSwitchConstructorParams =
20
20
  | [signer?: Signer]
@@ -23,6 +23,59 @@ const _abi = [
23
23
  name: "SchemaLib_StaticTypeAfterDynamicType",
24
24
  type: "error",
25
25
  },
26
+ {
27
+ inputs: [
28
+ {
29
+ internalType: "bytes",
30
+ name: "data",
31
+ type: "bytes",
32
+ },
33
+ {
34
+ internalType: "uint256",
35
+ name: "start",
36
+ type: "uint256",
37
+ },
38
+ {
39
+ internalType: "uint256",
40
+ name: "end",
41
+ type: "uint256",
42
+ },
43
+ ],
44
+ name: "Slice_OutOfBounds",
45
+ type: "error",
46
+ },
47
+ {
48
+ inputs: [
49
+ {
50
+ internalType: "uint256",
51
+ name: "expected",
52
+ type: "uint256",
53
+ },
54
+ {
55
+ internalType: "uint256",
56
+ name: "received",
57
+ type: "uint256",
58
+ },
59
+ ],
60
+ name: "StoreCore_InvalidDataLength",
61
+ type: "error",
62
+ },
63
+ {
64
+ inputs: [
65
+ {
66
+ internalType: "uint256",
67
+ name: "expected",
68
+ type: "uint256",
69
+ },
70
+ {
71
+ internalType: "uint256",
72
+ name: "received",
73
+ type: "uint256",
74
+ },
75
+ ],
76
+ name: "StoreCore_InvalidFieldNamesLength",
77
+ type: "error",
78
+ },
26
79
  {
27
80
  inputs: [
28
81
  {
@@ -246,6 +299,34 @@ const _abi = [
246
299
  stateMutability: "view",
247
300
  type: "function",
248
301
  },
302
+ {
303
+ inputs: [
304
+ {
305
+ internalType: "uint256",
306
+ name: "table",
307
+ type: "uint256",
308
+ },
309
+ {
310
+ internalType: "bytes32[]",
311
+ name: "key",
312
+ type: "bytes32[]",
313
+ },
314
+ {
315
+ internalType: "uint8",
316
+ name: "schemaIndex",
317
+ type: "uint8",
318
+ },
319
+ {
320
+ internalType: "bytes",
321
+ name: "dataToPush",
322
+ type: "bytes",
323
+ },
324
+ ],
325
+ name: "pushToField",
326
+ outputs: [],
327
+ stateMutability: "nonpayable",
328
+ type: "function",
329
+ },
249
330
  {
250
331
  inputs: [
251
332
  {
@@ -541,7 +541,7 @@ const _abi = [
541
541
  ];
542
542
 
543
543
  const _bytecode =
544
- "0x60806040526000805460ff1916600117905534801561001d57600080fd5b50610fcc8061002d6000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c806385226c8111610081578063ba414fa61161005b578063ba414fa614610153578063e20c9f711461016b578063fa7626d41461017357600080fd5b806385226c811461012e578063916a17c614610143578063b5508aa91461014b57600080fd5b80633f7286f4116100b25780633f7286f414610109578063447a343b1461011157806366d9a9a01461011957600080fd5b80630a9254e4146100d95780631ed7831c146100e35780633e5e3c2314610101575b600080fd5b6100e1610180565b005b6100eb6101e3565b6040516100f89190610bfb565b60405180910390f35b6100eb610245565b6100eb6102a5565b6100e1610305565b6101216103e0565b6040516100f89190610c48565b6101366104e4565b6040516100f89190610d43565b6101216105b4565b6101366106af565b61015b61077f565b60405190151581526020016100f8565b6100eb6108c1565b60005461015b9060ff1681565b60405161018c90610bef565b604051809103906000f0801580156101a8573d6000803e3d6000fd5b50601b80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6060600d80548060200260200160405190810160405280929190818152602001828054801561023b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161021d575b5050505050905090565b6060600f80548060200260200160405190810160405280929190818152602001828054801561023b576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161021d575050505050905090565b6060600e80548060200260200160405190810160405280929190818152602001828054801561023b576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161021d575050505050905090565b601b546040513060248201526000916001600160a01b03169060440160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fd737d0c700000000000000000000000000000000000000000000000000000000179052516103849190610dbd565b6000604051808303816000865af19150503d80600081146103c1576040519150601f19603f3d011682016040523d82523d6000602084013e6103c6565b606091505b509150506103dd816103d790610dd9565b30610921565b50565b60606012805480602002602001604051908101604052809291908181526020016000905b828210156104db5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156104c357602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116104705790505b50505050508152505081526020019060010190610404565b50505050905090565b60606011805480602002602001604051908101604052809291908181526020016000905b828210156104db57838290600052602060002001805461052790610e1e565b80601f016020809104026020016040519081016040528092919081815260200182805461055390610e1e565b80156105a05780601f10610575576101008083540402835291602001916105a0565b820191906000526020600020905b81548152906001019060200180831161058357829003601f168201915b505050505081526020019060010190610508565b60606013805480602002602001604051908101604052809291908181526020016000905b828210156104db5760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561069757602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116106445790505b505050505081525050815260200190600101906105d8565b60606010805480602002602001604051908101604052809291908181526020016000905b828210156104db5783829060005260206000200180546106f290610e1e565b80601f016020809104026020016040519081016040528092919081815260200182805461071e90610e1e565b801561076b5780601f106107405761010080835404028352916020019161076b565b820191906000526020600020905b81548152906001019060200180831161074e57829003601f168201915b5050505050815260200190600101906106d3565b60008054610100900460ff161561079f5750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156108bc5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c6564000000000000000000000000000000000000000000000000000082840152825180830384018152606083019093526000929091610844917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001610e6b565b60408051601f198184030181529082905261085e91610dbd565b6000604051808303816000865af19150503d806000811461089b576040519150601f19603f3d011682016040523d82523d6000602084013e6108a0565b606091505b50915050808060200190518101906108b89190610eb3565b9150505b919050565b6060600c80548060200260200160405190810160405280929190818152602001828054801561023b576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161021d575050505050905090565b806001600160a01b0316826001600160a01b031614610aab577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516109bf9060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b61646460408201527f726573735d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a160408051818152600a818301527f202045787065637465640000000000000000000000000000000000000000000060608201526001600160a01b038316602082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a160408051818152600a818301527f2020202041637475616c0000000000000000000000000000000000000000000060608201526001600160a01b038416602082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a1610aab610aaf565b5050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610bc15760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c656400000000000000000000000000000000000000000000000000009282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f1981840301815290829052610b609291602001610e6b565b60408051601f1981840301815290829052610b7a91610dbd565b6000604051808303816000865af19150503d8060008114610bb7576040519150601f19603f3d011682016040523d82523d6000602084013e610bbc565b606091505b505050505b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055565b60ba80610edd83390190565b6020808252825182820181905260009190848201906040850190845b81811015610c3c5783516001600160a01b031683529284019291840191600101610c17565b50909695505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b84811015610d0457898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015610cef5783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b0190610cad565b50978a01979550505091870191600101610c70565b50919998505050505050505050565b60005b83811015610d2e578181015183820152602001610d16565b83811115610d3d576000848401525b50505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015610db057603f1988860301845281518051808752610d91818989018a8501610d13565b601f01601f191695909501860194509285019290850190600101610d6a565b5092979650505050505050565b60008251610dcf818460208701610d13565b9190910192915050565b80516020808301519190811015610e18577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8160200360031b1b821691505b50919050565b600181811c90821680610e3257607f821691505b602082108103610e18577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7fffffffff000000000000000000000000000000000000000000000000000000008316815260008251610ea5816004850160208701610d13565b919091016004019392505050565b600060208284031215610ec557600080fd5b81518015158114610ed557600080fd5b939250505056fe6080604052348015600f57600080fd5b50609c8061001e6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063d737d0c714602d575b600080fd5b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c815290519081900360200190f3fea26469706673582212206989004af3fa87abc0dd1d53080cc4f0574869f82f128d389f3b13f71c0233b664736f6c634300080d0033a2646970667358221220b3dd687294922844d91546075e6fbe3b254878f28a5564383cf396264d016e8964736f6c634300080d0033";
544
+ "0x60806040526000805460ff1916600117905534801561001d57600080fd5b50610fcc8061002d6000396000f3fe608060405234801561001057600080fd5b50600436106100d45760003560e01c806385226c8111610081578063ba414fa61161005b578063ba414fa614610153578063e20c9f711461016b578063fa7626d41461017357600080fd5b806385226c811461012e578063916a17c614610143578063b5508aa91461014b57600080fd5b80633f7286f4116100b25780633f7286f414610109578063447a343b1461011157806366d9a9a01461011957600080fd5b80630a9254e4146100d95780631ed7831c146100e35780633e5e3c2314610101575b600080fd5b6100e1610180565b005b6100eb6101e3565b6040516100f89190610bfb565b60405180910390f35b6100eb610245565b6100eb6102a5565b6100e1610305565b6101216103e0565b6040516100f89190610c48565b6101366104e4565b6040516100f89190610d43565b6101216105b4565b6101366106af565b61015b61077f565b60405190151581526020016100f8565b6100eb6108c1565b60005461015b9060ff1681565b60405161018c90610bef565b604051809103906000f0801580156101a8573d6000803e3d6000fd5b50601b80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b6060600d80548060200260200160405190810160405280929190818152602001828054801561023b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161021d575b5050505050905090565b6060600f80548060200260200160405190810160405280929190818152602001828054801561023b576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161021d575050505050905090565b6060600e80548060200260200160405190810160405280929190818152602001828054801561023b576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161021d575050505050905090565b601b546040513060248201526000916001600160a01b03169060440160408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fd737d0c700000000000000000000000000000000000000000000000000000000179052516103849190610dbd565b6000604051808303816000865af19150503d80600081146103c1576040519150601f19603f3d011682016040523d82523d6000602084013e6103c6565b606091505b509150506103dd816103d790610dd9565b30610921565b50565b60606012805480602002602001604051908101604052809291908181526020016000905b828210156104db5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156104c357602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116104705790505b50505050508152505081526020019060010190610404565b50505050905090565b60606011805480602002602001604051908101604052809291908181526020016000905b828210156104db57838290600052602060002001805461052790610e1e565b80601f016020809104026020016040519081016040528092919081815260200182805461055390610e1e565b80156105a05780601f10610575576101008083540402835291602001916105a0565b820191906000526020600020905b81548152906001019060200180831161058357829003601f168201915b505050505081526020019060010190610508565b60606013805480602002602001604051908101604052809291908181526020016000905b828210156104db5760008481526020908190206040805180820182526002860290920180546001600160a01b0316835260018101805483518187028101870190945280845293949193858301939283018282801561069757602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116106445790505b505050505081525050815260200190600101906105d8565b60606010805480602002602001604051908101604052809291908181526020016000905b828210156104db5783829060005260206000200180546106f290610e1e565b80601f016020809104026020016040519081016040528092919081815260200182805461071e90610e1e565b801561076b5780601f106107405761010080835404028352916020019161076b565b820191906000526020600020905b81548152906001019060200180831161074e57829003601f168201915b5050505050815260200190600101906106d3565b60008054610100900460ff161561079f5750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b156108bc5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c6564000000000000000000000000000000000000000000000000000082840152825180830384018152606083019093526000929091610844917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001610e6b565b60408051601f198184030181529082905261085e91610dbd565b6000604051808303816000865af19150503d806000811461089b576040519150601f19603f3d011682016040523d82523d6000602084013e6108a0565b606091505b50915050808060200190518101906108b89190610eb3565b9150505b919050565b6060600c80548060200260200160405190810160405280929190818152602001828054801561023b576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161021d575050505050905090565b806001600160a01b0316826001600160a01b031614610aab577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516109bf9060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b61646460408201527f726573735d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a160408051818152600a818301527f202045787065637465640000000000000000000000000000000000000000000060608201526001600160a01b038316602082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a160408051818152600a818301527f2020202041637475616c0000000000000000000000000000000000000000000060608201526001600160a01b038416602082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a1610aab610aaf565b5050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15610bc15760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c656400000000000000000000000000000000000000000000000000009282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f1981840301815290829052610b609291602001610e6b565b60408051601f1981840301815290829052610b7a91610dbd565b6000604051808303816000865af19150503d8060008114610bb7576040519150601f19603f3d011682016040523d82523d6000602084013e610bbc565b606091505b505050505b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055565b60ba80610edd83390190565b6020808252825182820181905260009190848201906040850190845b81811015610c3c5783516001600160a01b031683529284019291840191600101610c17565b50909695505050505050565b60006020808301818452808551808352604092508286019150828160051b8701018488016000805b84811015610d0457898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015610cef5783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b0190610cad565b50978a01979550505091870191600101610c70565b50919998505050505050505050565b60005b83811015610d2e578181015183820152602001610d16565b83811115610d3d576000848401525b50505050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b82811015610db057603f1988860301845281518051808752610d91818989018a8501610d13565b601f01601f191695909501860194509285019290850190600101610d6a565b5092979650505050505050565b60008251610dcf818460208701610d13565b9190910192915050565b80516020808301519190811015610e18577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8160200360031b1b821691505b50919050565b600181811c90821680610e3257607f821691505b602082108103610e18577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7fffffffff000000000000000000000000000000000000000000000000000000008316815260008251610ea5816004850160208701610d13565b919091016004019392505050565b600060208284031215610ec557600080fd5b81518015158114610ed557600080fd5b939250505056fe6080604052348015600f57600080fd5b50609c8061001e6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063d737d0c714602d575b600080fd5b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c815290519081900360200190f3fea26469706673582212208c3026a7c50b419c2a88e8a3749e394886d588fdbb55ea9c35bc28185ccc343a64736f6c634300080d0033a2646970667358221220a232e4df60311255c6224c6c61b61a8a6b13f3ed608511dabc3cf9654a82bd4464736f6c634300080d0033";
545
545
 
546
546
  type SystemTestConstructorParams =
547
547
  | [signer?: Signer]