@towns-protocol/generated 0.0.283 → 0.0.285

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.
@@ -62,6 +62,16 @@ export declare namespace ISwapRouterBase {
62
62
  swapData: string;
63
63
  };
64
64
 
65
+ export type FeeConfigStruct = {
66
+ recipient: PromiseOrValue<string>;
67
+ feeBps: PromiseOrValue<BigNumberish>;
68
+ };
69
+
70
+ export type FeeConfigStructOutput = [string, number] & {
71
+ recipient: string;
72
+ feeBps: number;
73
+ };
74
+
65
75
  export type Permit2ParamsStruct = {
66
76
  owner: PromiseOrValue<string>;
67
77
  nonce: PromiseOrValue<BigNumberish>;
@@ -85,9 +95,9 @@ export declare namespace ISwapRouterBase {
85
95
  export interface ISwapRouterInterface extends utils.Interface {
86
96
  functions: {
87
97
  "executeSwap((address,address,uint256,uint256,address),(address,address,bytes),address)": FunctionFragment;
88
- "executeSwapWithPermit((address,address,uint256,uint256,address),(address,address,bytes),(address,uint256,uint256,bytes),address)": FunctionFragment;
98
+ "executeSwapWithPermit((address,address,uint256,uint256,address),(address,address,bytes),(address,uint16),(address,uint256,uint256,bytes))": FunctionFragment;
89
99
  "getETHInputFees(uint256,address,address)": FunctionFragment;
90
- "getPermit2MessageHash((address,address,uint256,uint256,address),(address,address,bytes),address,uint256,uint256,uint256)": FunctionFragment;
100
+ "getPermit2MessageHash((address,address,uint256,uint256,address),(address,address,bytes),(address,uint16),uint256,uint256,uint256)": FunctionFragment;
91
101
  "getPermit2Nonce(address,uint256)": FunctionFragment;
92
102
  };
93
103
 
@@ -113,8 +123,8 @@ export interface ISwapRouterInterface extends utils.Interface {
113
123
  values: [
114
124
  ISwapRouterBase.ExactInputParamsStruct,
115
125
  ISwapRouterBase.RouterParamsStruct,
116
- ISwapRouterBase.Permit2ParamsStruct,
117
- PromiseOrValue<string>
126
+ ISwapRouterBase.FeeConfigStruct,
127
+ ISwapRouterBase.Permit2ParamsStruct
118
128
  ]
119
129
  ): string;
120
130
  encodeFunctionData(
@@ -130,7 +140,7 @@ export interface ISwapRouterInterface extends utils.Interface {
130
140
  values: [
131
141
  ISwapRouterBase.ExactInputParamsStruct,
132
142
  ISwapRouterBase.RouterParamsStruct,
133
- PromiseOrValue<string>,
143
+ ISwapRouterBase.FeeConfigStruct,
134
144
  PromiseOrValue<BigNumberish>,
135
145
  PromiseOrValue<BigNumberish>,
136
146
  PromiseOrValue<BigNumberish>
@@ -251,8 +261,8 @@ export interface ISwapRouter extends BaseContract {
251
261
  executeSwapWithPermit(
252
262
  params: ISwapRouterBase.ExactInputParamsStruct,
253
263
  routerParams: ISwapRouterBase.RouterParamsStruct,
264
+ posterFee: ISwapRouterBase.FeeConfigStruct,
254
265
  permit: ISwapRouterBase.Permit2ParamsStruct,
255
- poster: PromiseOrValue<string>,
256
266
  overrides?: PayableOverrides & { from?: PromiseOrValue<string> }
257
267
  ): Promise<ContractTransaction>;
258
268
 
@@ -272,7 +282,7 @@ export interface ISwapRouter extends BaseContract {
272
282
  getPermit2MessageHash(
273
283
  params: ISwapRouterBase.ExactInputParamsStruct,
274
284
  routerParams: ISwapRouterBase.RouterParamsStruct,
275
- poster: PromiseOrValue<string>,
285
+ posterFee: ISwapRouterBase.FeeConfigStruct,
276
286
  amount: PromiseOrValue<BigNumberish>,
277
287
  nonce: PromiseOrValue<BigNumberish>,
278
288
  deadline: PromiseOrValue<BigNumberish>,
@@ -296,8 +306,8 @@ export interface ISwapRouter extends BaseContract {
296
306
  executeSwapWithPermit(
297
307
  params: ISwapRouterBase.ExactInputParamsStruct,
298
308
  routerParams: ISwapRouterBase.RouterParamsStruct,
309
+ posterFee: ISwapRouterBase.FeeConfigStruct,
299
310
  permit: ISwapRouterBase.Permit2ParamsStruct,
300
- poster: PromiseOrValue<string>,
301
311
  overrides?: PayableOverrides & { from?: PromiseOrValue<string> }
302
312
  ): Promise<ContractTransaction>;
303
313
 
@@ -317,7 +327,7 @@ export interface ISwapRouter extends BaseContract {
317
327
  getPermit2MessageHash(
318
328
  params: ISwapRouterBase.ExactInputParamsStruct,
319
329
  routerParams: ISwapRouterBase.RouterParamsStruct,
320
- poster: PromiseOrValue<string>,
330
+ posterFee: ISwapRouterBase.FeeConfigStruct,
321
331
  amount: PromiseOrValue<BigNumberish>,
322
332
  nonce: PromiseOrValue<BigNumberish>,
323
333
  deadline: PromiseOrValue<BigNumberish>,
@@ -343,8 +353,8 @@ export interface ISwapRouter extends BaseContract {
343
353
  executeSwapWithPermit(
344
354
  params: ISwapRouterBase.ExactInputParamsStruct,
345
355
  routerParams: ISwapRouterBase.RouterParamsStruct,
356
+ posterFee: ISwapRouterBase.FeeConfigStruct,
346
357
  permit: ISwapRouterBase.Permit2ParamsStruct,
347
- poster: PromiseOrValue<string>,
348
358
  overrides?: CallOverrides
349
359
  ): Promise<
350
360
  [BigNumber, BigNumber] & { amountOut: BigNumber; protocolFee: BigNumber }
@@ -366,7 +376,7 @@ export interface ISwapRouter extends BaseContract {
366
376
  getPermit2MessageHash(
367
377
  params: ISwapRouterBase.ExactInputParamsStruct,
368
378
  routerParams: ISwapRouterBase.RouterParamsStruct,
369
- poster: PromiseOrValue<string>,
379
+ posterFee: ISwapRouterBase.FeeConfigStruct,
370
380
  amount: PromiseOrValue<BigNumberish>,
371
381
  nonce: PromiseOrValue<BigNumberish>,
372
382
  deadline: PromiseOrValue<BigNumberish>,
@@ -434,8 +444,8 @@ export interface ISwapRouter extends BaseContract {
434
444
  executeSwapWithPermit(
435
445
  params: ISwapRouterBase.ExactInputParamsStruct,
436
446
  routerParams: ISwapRouterBase.RouterParamsStruct,
447
+ posterFee: ISwapRouterBase.FeeConfigStruct,
437
448
  permit: ISwapRouterBase.Permit2ParamsStruct,
438
- poster: PromiseOrValue<string>,
439
449
  overrides?: PayableOverrides & { from?: PromiseOrValue<string> }
440
450
  ): Promise<BigNumber>;
441
451
 
@@ -449,7 +459,7 @@ export interface ISwapRouter extends BaseContract {
449
459
  getPermit2MessageHash(
450
460
  params: ISwapRouterBase.ExactInputParamsStruct,
451
461
  routerParams: ISwapRouterBase.RouterParamsStruct,
452
- poster: PromiseOrValue<string>,
462
+ posterFee: ISwapRouterBase.FeeConfigStruct,
453
463
  amount: PromiseOrValue<BigNumberish>,
454
464
  nonce: PromiseOrValue<BigNumberish>,
455
465
  deadline: PromiseOrValue<BigNumberish>,
@@ -474,8 +484,8 @@ export interface ISwapRouter extends BaseContract {
474
484
  executeSwapWithPermit(
475
485
  params: ISwapRouterBase.ExactInputParamsStruct,
476
486
  routerParams: ISwapRouterBase.RouterParamsStruct,
487
+ posterFee: ISwapRouterBase.FeeConfigStruct,
477
488
  permit: ISwapRouterBase.Permit2ParamsStruct,
478
- poster: PromiseOrValue<string>,
479
489
  overrides?: PayableOverrides & { from?: PromiseOrValue<string> }
480
490
  ): Promise<PopulatedTransaction>;
481
491
 
@@ -489,7 +499,7 @@ export interface ISwapRouter extends BaseContract {
489
499
  getPermit2MessageHash(
490
500
  params: ISwapRouterBase.ExactInputParamsStruct,
491
501
  routerParams: ISwapRouterBase.RouterParamsStruct,
492
- poster: PromiseOrValue<string>,
502
+ posterFee: ISwapRouterBase.FeeConfigStruct,
493
503
  amount: PromiseOrValue<BigNumberish>,
494
504
  nonce: PromiseOrValue<BigNumberish>,
495
505
  deadline: PromiseOrValue<BigNumberish>,
@@ -55,6 +55,7 @@ export interface MembershipFacetInterface extends utils.Interface {
55
55
  "getMembershipRenewalPrice(uint256)": FunctionFragment;
56
56
  "getProtocolFee()": FunctionFragment;
57
57
  "getSpaceFactory()": FunctionFragment;
58
+ "joinSpace(uint8,bytes)": FunctionFragment;
58
59
  "joinSpace(address)": FunctionFragment;
59
60
  "joinSpaceWithReferral(address,(address,address,string))": FunctionFragment;
60
61
  "renewMembership(uint256)": FunctionFragment;
@@ -80,7 +81,8 @@ export interface MembershipFacetInterface extends utils.Interface {
80
81
  | "getMembershipRenewalPrice"
81
82
  | "getProtocolFee"
82
83
  | "getSpaceFactory"
83
- | "joinSpace"
84
+ | "joinSpace(uint8,bytes)"
85
+ | "joinSpace(address)"
84
86
  | "joinSpaceWithReferral"
85
87
  | "renewMembership"
86
88
  | "revenue"
@@ -137,7 +139,11 @@ export interface MembershipFacetInterface extends utils.Interface {
137
139
  values?: undefined
138
140
  ): string;
139
141
  encodeFunctionData(
140
- functionFragment: "joinSpace",
142
+ functionFragment: "joinSpace(uint8,bytes)",
143
+ values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BytesLike>]
144
+ ): string;
145
+ encodeFunctionData(
146
+ functionFragment: "joinSpace(address)",
141
147
  values: [PromiseOrValue<string>]
142
148
  ): string;
143
149
  encodeFunctionData(
@@ -215,7 +221,14 @@ export interface MembershipFacetInterface extends utils.Interface {
215
221
  functionFragment: "getSpaceFactory",
216
222
  data: BytesLike
217
223
  ): Result;
218
- decodeFunctionResult(functionFragment: "joinSpace", data: BytesLike): Result;
224
+ decodeFunctionResult(
225
+ functionFragment: "joinSpace(uint8,bytes)",
226
+ data: BytesLike
227
+ ): Result;
228
+ decodeFunctionResult(
229
+ functionFragment: "joinSpace(address)",
230
+ data: BytesLike
231
+ ): Result;
219
232
  decodeFunctionResult(
220
233
  functionFragment: "joinSpaceWithReferral",
221
234
  data: BytesLike
@@ -789,7 +802,13 @@ export interface MembershipFacet extends BaseContract {
789
802
 
790
803
  getSpaceFactory(overrides?: CallOverrides): Promise<[string]>;
791
804
 
792
- joinSpace(
805
+ "joinSpace(uint8,bytes)"(
806
+ action: PromiseOrValue<BigNumberish>,
807
+ data: PromiseOrValue<BytesLike>,
808
+ overrides?: PayableOverrides & { from?: PromiseOrValue<string> }
809
+ ): Promise<ContractTransaction>;
810
+
811
+ "joinSpace(address)"(
793
812
  receiver: PromiseOrValue<string>,
794
813
  overrides?: PayableOverrides & { from?: PromiseOrValue<string> }
795
814
  ): Promise<ContractTransaction>;
@@ -866,7 +885,13 @@ export interface MembershipFacet extends BaseContract {
866
885
 
867
886
  getSpaceFactory(overrides?: CallOverrides): Promise<string>;
868
887
 
869
- joinSpace(
888
+ "joinSpace(uint8,bytes)"(
889
+ action: PromiseOrValue<BigNumberish>,
890
+ data: PromiseOrValue<BytesLike>,
891
+ overrides?: PayableOverrides & { from?: PromiseOrValue<string> }
892
+ ): Promise<ContractTransaction>;
893
+
894
+ "joinSpace(address)"(
870
895
  receiver: PromiseOrValue<string>,
871
896
  overrides?: PayableOverrides & { from?: PromiseOrValue<string> }
872
897
  ): Promise<ContractTransaction>;
@@ -943,7 +968,13 @@ export interface MembershipFacet extends BaseContract {
943
968
 
944
969
  getSpaceFactory(overrides?: CallOverrides): Promise<string>;
945
970
 
946
- joinSpace(
971
+ "joinSpace(uint8,bytes)"(
972
+ action: PromiseOrValue<BigNumberish>,
973
+ data: PromiseOrValue<BytesLike>,
974
+ overrides?: CallOverrides
975
+ ): Promise<void>;
976
+
977
+ "joinSpace(address)"(
947
978
  receiver: PromiseOrValue<string>,
948
979
  overrides?: CallOverrides
949
980
  ): Promise<void>;
@@ -1296,7 +1327,13 @@ export interface MembershipFacet extends BaseContract {
1296
1327
 
1297
1328
  getSpaceFactory(overrides?: CallOverrides): Promise<BigNumber>;
1298
1329
 
1299
- joinSpace(
1330
+ "joinSpace(uint8,bytes)"(
1331
+ action: PromiseOrValue<BigNumberish>,
1332
+ data: PromiseOrValue<BytesLike>,
1333
+ overrides?: PayableOverrides & { from?: PromiseOrValue<string> }
1334
+ ): Promise<BigNumber>;
1335
+
1336
+ "joinSpace(address)"(
1300
1337
  receiver: PromiseOrValue<string>,
1301
1338
  overrides?: PayableOverrides & { from?: PromiseOrValue<string> }
1302
1339
  ): Promise<BigNumber>;
@@ -1388,7 +1425,13 @@ export interface MembershipFacet extends BaseContract {
1388
1425
 
1389
1426
  getSpaceFactory(overrides?: CallOverrides): Promise<PopulatedTransaction>;
1390
1427
 
1391
- joinSpace(
1428
+ "joinSpace(uint8,bytes)"(
1429
+ action: PromiseOrValue<BigNumberish>,
1430
+ data: PromiseOrValue<BytesLike>,
1431
+ overrides?: PayableOverrides & { from?: PromiseOrValue<string> }
1432
+ ): Promise<PopulatedTransaction>;
1433
+
1434
+ "joinSpace(address)"(
1392
1435
  receiver: PromiseOrValue<string>,
1393
1436
  overrides?: PayableOverrides & { from?: PromiseOrValue<string> }
1394
1437
  ): Promise<PopulatedTransaction>;
@@ -89,6 +89,11 @@ const _abi = [
89
89
  type: "address",
90
90
  internalType: "address",
91
91
  },
92
+ {
93
+ name: "recipient",
94
+ type: "address",
95
+ internalType: "address",
96
+ },
92
97
  {
93
98
  name: "quantity",
94
99
  type: "uint256",
@@ -150,6 +155,11 @@ const _abi = [
150
155
  type: "address",
151
156
  internalType: "address",
152
157
  },
158
+ {
159
+ name: "recipient",
160
+ type: "address",
161
+ internalType: "address",
162
+ },
153
163
  {
154
164
  name: "quantity",
155
165
  type: "uint256",
@@ -701,6 +711,11 @@ const _abi = [
701
711
  name: "DropFacet__InvalidProof",
702
712
  inputs: [],
703
713
  },
714
+ {
715
+ type: "error",
716
+ name: "DropFacet__InvalidRecipient",
717
+ inputs: [],
718
+ },
704
719
  {
705
720
  type: "error",
706
721
  name: "DropFacet__MerkleRootNotSet",
@@ -711,6 +726,11 @@ const _abi = [
711
726
  name: "DropFacet__NoActiveClaimCondition",
712
727
  inputs: [],
713
728
  },
729
+ {
730
+ type: "error",
731
+ name: "DropFacet__NotClaimingAccount",
732
+ inputs: [],
733
+ },
714
734
  {
715
735
  type: "error",
716
736
  name: "DropFacet__QuantityMustBeGreaterThanZero",
@@ -786,7 +806,7 @@ const _abi = [
786
806
  ] as const;
787
807
 
788
808
  const _bytecode =
789
- "0x6080604052348015600e575f5ffd5b5060156019565b60bd565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16156064576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff908116101560ba57805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b612548806100ca5f395ff3fe608060405234801561000f575f5ffd5b50600436106100b9575f3560e01c806381045e3611610072578063c68907de11610058578063c68907de146101b6578063c9ac9368146101be578063fff96374146101d1575f5ffd5b806381045e361461018e578063a1550b2f146101a1575f5ffd5b806364843393116100a257806364843393146100f85780636f8934f41461010b5780637a05557c1461012b575f5ffd5b806314c9fcbc146100bd57806333d42dc6146100d2575b5f5ffd5b6100d06100cb366004611d04565b6101e4565b005b6100e56100e0366004611d1f565b61027c565b6040519081526020015b60405180910390f35b6100d0610106366004611d49565b6102d1565b61011e610119366004611d62565b610351565b6040516100ef9190611d79565b6100e5610139366004611d1f565b5f9081527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab016020908152604080832073ffffffffffffffffffffffffffffffffffffffff949094168352929052206001015490565b6100e561019c366004611e23565b61047b565b6101a9610674565b6040516100ef9190611e72565b6100e5610683565b6100d06101cc366004611f26565b61068c565b6100e56101df366004611f97565b61070c565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff16610247576040517f77a399b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6102707f9251dd06000000000000000000000000000000000000000000000000000000006109cf565b61027981610b24565b50565b5f8181527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab016020908152604080832073ffffffffffffffffffffffffffffffffffffffff861684529091529020545b92915050565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae3005473ffffffffffffffffffffffffffffffffffffffff163314610348576040517f65f490650000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b61027981610b2d565b604080515f80825260208201819052818301819052606082018190526080820181905260a0820181905260c0820152908190526103ba825f9081527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab016020526040902060010190565b6040805160e081018252825473ffffffffffffffffffffffffffffffffffffffff8116825274010000000000000000000000000000000000000000810464ffffffffff9081166020840152790100000000000000000000000000000000000000000000000000820416928201929092527e0100000000000000000000000000000000000000000000000000000000000090910461ffff16606082015260018201546080820152600282015460a082015260039091015460c082015292915050565b81355f9081527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab016020526040808220600181015490916104e69190860135907e01000000000000000000000000000000000000000000000000000000000000900461ffff1685610d8a565b91506104f28183610dea565b6004810154610502908590610fb7565b61051d6105156040860160208701611d04565b82908461100b565b7f25a22d57af6f735dc617e9781981413da3bc5a71376b4237270a04c144aaf70061055d6105516040870160208801611d04565b8290606088013561107f565b5f61056e6040870160208801611d04565b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516105b591815260200190565b60405180910390a36105f26105d06040870160208801611d04565b600184015473ffffffffffffffffffffffffffffffffffffffff16908561109b565b6106026040860160208701611d04565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16865f01357f970af01ab25e63f8131277859b2c17e9a07c2eb257e6db87449000d91c0f84018660405161066491815260200190565b60405180910390a4505092915050565b606061067e6110ee565b905090565b5f61067e61134a565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae3005473ffffffffffffffffffffffffffffffffffffffff1633146106fe576040517f65f4906500000000000000000000000000000000000000000000000000000000815233600482015260240161033f565b6107088282611529565b5050565b84355f9081527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab01602052604090819020908601359061074b8183610dea565b600481015461075b908890610fb7565b61076e6105156040890160208a01611d04565b7f25a22d57af6f735dc617e9781981413da3bc5a71376b4237270a04c144aaf7006107ae6107a260408a0160208b01611d04565b829060608b013561107f565b5f6107bf60408a0160208b01611d04565b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161080691815260200190565b60405180910390a360018201546108339073ffffffffffffffffffffffffffffffffffffffff16846117ff565b5f7feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab005473ffffffffffffffffffffffffffffffffffffffff1663e69f949561087a86611844565b8a61088b60408e0160208f01611d04565b8d602001602081019061089e9190611d04565b8c8c8c6040518863ffffffff1660e01b81526004016108c39796959493929190612048565b6020604051808303815f875af11580156108df573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109039190612107565b90505f838161091860408d0160208e01611d04565b73ffffffffffffffffffffffffffffffffffffffff16815260208082019290925260409081015f2060018101859055925061095891908c01908c01611d04565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff168b5f01357ff08f338c8905e343697a35fef11af2f611a36658016e0653521354c865373ea7886040516109ba91815260200190565b60405180910390a45050505095945050505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081165f9081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b00602052604090205460ff16610aa3577fffffffff0000000000000000000000000000000000000000000000000000000081165f9081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b006020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610ad5565b6040517ff2cfeefa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fffffffff000000000000000000000000000000000000000000000000000000008216907f78f84e5b1c5c05be2b5ad3800781dd404d6d6c6302bc755c0fe20f58a33a7f22905f90a250565b61027981611865565b7feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab005465ffffffffffff7401000000000000000000000000000000000000000082048116917a0100000000000000000000000000000000000000000000000000009004165f610b9b828461214b565b905065ffffffffffff821615610c6e5765ffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8201165f9081527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab01602052604081206001019050610c17604086016020870161217b565b815464ffffffffff9182167401000000000000000000000000000000000000000090910490911610610c6c57610c6c7f7b10269c0000000000000000000000000000000000000000000000000000000061190f565b505b610c88610c7e6020860186611d04565b8560800135611917565b83610cc48265ffffffffffff165f9081527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab016020526040902090565b600101610cd182826121ae565b50610cdf905082600161214b565b7feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab00805479ffffffffffffffffffffffffffffffffffffffffffffffffffff167a01000000000000000000000000000000000000000000000000000065ffffffffffff93841602179055604051908216907fb2d7f7a48138c995ec7024ac4e176fad4415d42377559f3178e3830941b0484190610d7c9087906123b7565b60405180910390a250505050565b5f8161ffff168361ffff1614610dc357610dc37f70566c000000000000000000000000000000000000000000000000000000000061190f565b61ffff831615610de2575f610ddc858561ffff16611967565b90940393505b509192915050565b60048201546001830190610e2157610e217ff235dd010000000000000000000000000000000000000000000000000000000061190f565b815f03610e5157610e517fdf4e56a50000000000000000000000000000000000000000000000000000000061190f565b805473ffffffffffffffffffffffffffffffffffffffff16610e9657610e967fe211c34c0000000000000000000000000000000000000000000000000000000061190f565b8060010154828260020154610eab91906123c5565b1115610eda57610eda7fb0b4e6d40000000000000000000000000000000000000000000000000000000061190f565b805474010000000000000000000000000000000000000000900464ffffffffff16421015610f2b57610f2b7f4b3950d80000000000000000000000000000000000000000000000000000000061190f565b8054790100000000000000000000000000000000000000000000000000900464ffffffffff1615801590610f8457508054790100000000000000000000000000000000000000000000000000900464ffffffffff164210155b15610fb257610fb27fd87c5b1d0000000000000000000000000000000000000000000000000000000061190f565b505050565b5f610fc1836119ba565b9050610fde8282610fd560808701876123d8565b909290916119f8565b610fb257610fb27f592fca340000000000000000000000000000000000000000000000000000000061190f565b73ffffffffffffffffffffffffffffffffffffffff82165f90815260208490526040902080541561105f5761105f7f7f76444f0000000000000000000000000000000000000000000000000000000061190f565b81846001016002015f82825461107591906123c5565b9091555050555050565b61108a838383611a30565b600290920180549290920390915550565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f5114166110e457803d853b1517106110e4576390b8ec185f526004601cfd5b505f603452505050565b60605f5f61115d7feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab005474010000000000000000000000000000000000000000810465ffffffffffff908116927a0100000000000000000000000000000000000000000000000000009092041690565b915091508065ffffffffffff1667ffffffffffffffff81111561118257611182612443565b60405190808252806020026020018201604052801561120657816020015b6040805160e0810182525f8082526020808301829052928201819052606082018190526080820181905260a0820181905260c082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816111a05790505b5092505f5b8165ffffffffffff16811015611344576112626112308265ffffffffffff86166123c5565b5f9081527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab016020526040902060010190565b6040805160e081018252825473ffffffffffffffffffffffffffffffffffffffff8116825274010000000000000000000000000000000000000000810464ffffffffff9081166020840152790100000000000000000000000000000000000000000000000000820416928201929092527e0100000000000000000000000000000000000000000000000000000000000090910461ffff16606082015260018201546080820152600282015460a082015260039091015460c0820152845185908390811061133157611331612470565b602090810291909101015260010161120b565b50505090565b5f5f5f6113b87feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab005474010000000000000000000000000000000000000000810465ffffffffffff908116927a0100000000000000000000000000000000000000000000000000009092041690565b915091508065ffffffffffff165f036113f4576113f47f44d5f0940000000000000000000000000000000000000000000000000000000061190f565b65ffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83830101165f61142d8260016123c5565b90505b8365ffffffffffff168111156114ff577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015f8181527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab0160205260409020600101805464ffffffffff79010000000000000000000000000000000000000000000000000082048116917401000000000000000000000000000000000000000090041642108015906114e857508015806114e857508042105b156114f857509095945050505050565b5050611430565b506113447f44d5f0940000000000000000000000000000000000000000000000000000000061190f565b7feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab00805465ffffffffffff7401000000000000000000000000000000000000000082048116917a010000000000000000000000000000000000000000000000000000900481169061159985846123c5565b11156115c8576115c87fae4eeeb10000000000000000000000000000000000000000000000000000000061190f565b835f80805b8365ffffffffffff1681101561170457368989838181106115f0576115f0612470565b905060e00201905080602001602081019061160b919061217b565b64ffffffffff168465ffffffffffff1610611649576116497f7b10269c0000000000000000000000000000000000000000000000000000000061190f565b5f60018901816116618565ffffffffffff8c166123c5565b815260208101919091526040015f20600381015490915060808301358111156116ad576116ad7fae4eeeb10000000000000000000000000000000000000000000000000000000061190f565b6116b78284611aa6565b6116c7604084016020850161217b565b64ffffffffff1695506116de6080840135866123c5565b94506116f66116f06020850185611d04565b86611917565b5050508060010190506115cd565b50855465ffffffffffff8085167a010000000000000000000000000000000000000000000000000000810279ffffffffffffffffffffffffffffffffffffffffffffffffffff909316929092178855851611156117b35765ffffffffffff83165b8465ffffffffffff168110156117b15765ffffffffffff861681015f90815260018089016020526040822080820183905560028101839055600381018390556004019190915501611765565b505b8465ffffffffffff167ff91c9c864018770f197086e7e64354d3a54259e85887953cbbe7d02ba32aba8e89896040516117ed92919061249d565b60405180910390a25050505050505050565b6107087feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab005473ffffffffffffffffffffffffffffffffffffffff848116911683611c27565b5f6c01000000000000000000000000821061186157611861611c70565b5090565b73ffffffffffffffffffffffffffffffffffffffff81166118a9576118a97fe3224c780000000000000000000000000000000000000000000000000000000061190f565b7feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab0080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b805f5260045ffd5b61193773ffffffffffffffffffffffffffffffffffffffff831630611c7d565b811115610708576107087f42e1bedf0000000000000000000000000000000000000000000000000000000061190f565b5f61271082111561199c5761199c7f197f19620000000000000000000000000000000000000000000000000000000083611cb0565b6127106119a983856124de565b6119b391906124f5565b9392505050565b5f806119cc6040840160208501611d04565b604080515f92835281860135602090815260609687013583529583208352949091209390525090919050565b5f8315611a28578360051b8501855b803580851160051b94855260209485185260405f209301818110611a075750505b501492915050565b5f5f611a3d858585611cbc565b915091508115611a9f576040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602481018290526044810184905260640161033f565b5050505050565b60018201611aba604083016020840161217b565b815464ffffffffff9190911674010000000000000000000000000000000000000000027fffffffffffffff0000000000ffffffffffffffffffffffffffffffffffffffff909116178155611b14606083016040840161217b565b815464ffffffffff91909116790100000000000000000000000000000000000000000000000000027fffff0000000000ffffffffffffffffffffffffffffffffffffffffffffffffff9091161781556080820135600182015560c08201356003820155611b846020830183611d04565b81547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff91909116178155611bd4608083016060840161252d565b815461ffff919091167e01000000000000000000000000000000000000000000000000000000000000027dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9091161790555050565b81601452806034526f095ea7b30000000000000000000000005f5260205f604460105f875af18060015f5114166110e457803d853b1517106110e457633e3f8f735f526004601cfd5b6335278d125f526004601cfd5b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b815f528060045260245ffd5b5f82815260208490526040902080548281109182611cda5783820381555b50935093915050565b73ffffffffffffffffffffffffffffffffffffffff81168114610279575f5ffd5b5f60208284031215611d14575f5ffd5b81356119b381611ce3565b5f5f60408385031215611d30575f5ffd5b8235611d3b81611ce3565b946020939093013593505050565b5f60e0828403128015611d5a575f5ffd5b509092915050565b5f60208284031215611d72575f5ffd5b5035919050565b60e081016102cb828473ffffffffffffffffffffffffffffffffffffffff815116825264ffffffffff602082015116602083015264ffffffffff604082015116604083015261ffff60608201511660608301526080810151608083015260a081015160a083015260c081015160c08301525050565b5f60a08284031215611dfe575f5ffd5b50919050565b61ffff81168114610279575f5ffd5b8035611e1e81611e04565b919050565b5f5f60408385031215611e34575f5ffd5b823567ffffffffffffffff811115611e4a575f5ffd5b611e5685828601611dee565b9250506020830135611e6781611e04565b809150509250929050565b602080825282518282018190525f918401906040840190835b81811015611f1b57611f0583855173ffffffffffffffffffffffffffffffffffffffff815116825264ffffffffff602082015116602083015264ffffffffff604082015116604083015261ffff60608201511660608301526080810151608083015260a081015160a083015260c081015160c08301525050565b6020939093019260e09290920191600101611e8b565b509095945050505050565b5f5f60208385031215611f37575f5ffd5b823567ffffffffffffffff811115611f4d575f5ffd5b8301601f81018513611f5d575f5ffd5b803567ffffffffffffffff811115611f73575f5ffd5b85602060e083028401011115611f87575f5ffd5b6020919091019590945092505050565b5f5f5f5f5f60808688031215611fab575f5ffd5b853567ffffffffffffffff811115611fc1575f5ffd5b611fcd88828901611dee565b9550506020860135611fde81611ce3565b935060408601359250606086013567ffffffffffffffff811115612000575f5ffd5b8601601f81018813612010575f5ffd5b803567ffffffffffffffff811115612026575f5ffd5b886020828401011115612037575f5ffd5b959894975092955050506020019190565b6bffffffffffffffffffffffff8816815273ffffffffffffffffffffffffffffffffffffffff8716602082015273ffffffffffffffffffffffffffffffffffffffff8616604082015273ffffffffffffffffffffffffffffffffffffffff8516606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01601019695505050505050565b5f60208284031215612117575f5ffd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b65ffffffffffff81811683821601908111156102cb576102cb61211e565b64ffffffffff81168114610279575f5ffd5b5f6020828403121561218b575f5ffd5b81356119b381612169565b5f81356102cb81612169565b5f81356102cb81611e04565b81356121b981611ce3565b73ffffffffffffffffffffffffffffffffffffffff81167fffffffffffffffffffffffff000000000000000000000000000000000000000083541617825550602082013561220681612169565b81547fffffffffffffff0000000000ffffffffffffffffffffffffffffffffffffffff1660a09190911b78ffffffffff0000000000000000000000000000000000000000161781556122ac61225d60408401612196565b82547fffff0000000000ffffffffffffffffffffffffffffffffffffffffffffffffff1660c89190911b7dffffffffff0000000000000000000000000000000000000000000000000016178255565b61230a6122bb606084016121a2565b82547dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660f09190911b7fffff00000000000000000000000000000000000000000000000000000000000016178255565b6080820135600182015560a0820135600282015560c090910135600390910155565b803561233781611ce3565b73ffffffffffffffffffffffffffffffffffffffff168252602081013561235d81612169565b64ffffffffff166020830152604081013561237781612169565b64ffffffffff16604083015261238f60608201611e13565b61ffff1660608301526080818101359083015260a0808201359083015260c090810135910152565b60e081016102cb828461232c565b808201808211156102cb576102cb61211e565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261240b575f5ffd5b83018035915067ffffffffffffffff821115612425575f5ffd5b6020019150600581901b360382131561243c575f5ffd5b9250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b602080825281018290525f8360408301825b858110156124d4576124c1828461232c565b60e09283019291909101906001016124af565b5095945050505050565b80820281158282048414176102cb576102cb61211e565b5f82612528577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b5f6020828403121561253d575f5ffd5b81356119b381611e0456";
809
+ "0x6080604052348015600e575f5ffd5b5060156019565b60bd565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16156064576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff908116101560ba57805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b6126c9806100ca5f395ff3fe608060405234801561000f575f5ffd5b50600436106100b9575f3560e01c80637a05557c11610072578063c68907de11610058578063c68907de146101b6578063c9ac9368146101be578063d1e5b9fe146101d1575f5ffd5b80637a05557c1461013e578063a1550b2f146101a1575f5ffd5b806333d42dc6116100a257806333d42dc6146100f8578063648433931461010b5780636f8934f41461011e575f5ffd5b80630bd27685146100bd57806314c9fcbc146100e3575b5f5ffd5b6100d06100cb366004611e9b565b6101e4565b6040519081526020015b60405180910390f35b6100f66100f1366004611f4c565b610570565b005b6100d0610106366004611f67565b610608565b6100f6610119366004611f91565b61065d565b61013161012c366004611faa565b6106dd565b6040516100da9190611fc1565b6100d061014c366004611f67565b5f9081527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab016020908152604080832073ffffffffffffffffffffffffffffffffffffffff949094168352929052206001015490565b6101a9610807565b6040516100da9190612036565b6100d0610816565b6100f66101cc3660046120ea565b61081f565b6100d06101df36600461217a565b61089f565b5f6101f56040870160208801611f4c565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610250576102507f50db47c300000000000000000000000000000000000000000000000000000000610b4f565b5f6102616060880160408901611f4c565b73ffffffffffffffffffffffffffffffffffffffff16036102a5576102a57f5da50bdb00000000000000000000000000000000000000000000000000000000610b4f565b5084355f9081527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab01602052604090206060860135906102e48183610b57565b60048101546102f4908890610d24565b61030f6103076040890160208a01611f4c565b829084610d78565b7f25a22d57af6f735dc617e9781981413da3bc5a71376b4237270a04c144aaf70061034f61034360408a0160208b01611f4c565b829060808b0135610dec565b5f61036060408a0160208b01611f4c565b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516103a791815260200190565b60405180910390a360018201546103d49073ffffffffffffffffffffffffffffffffffffffff1684610e08565b5f7feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab005473ffffffffffffffffffffffffffffffffffffffff1663e69f949561041b86610e4d565b8a61042c60408e0160208f01611f4c565b8d602001602081019061043f9190611f4c565b8c8c8c6040518863ffffffff1660e01b815260040161046497969594939291906121c9565b6020604051808303815f875af1158015610480573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104a49190612288565b90505f83816104b960408d0160208e01611f4c565b73ffffffffffffffffffffffffffffffffffffffff16815260208082019290925260409081015f206001810185905592506104f991908c01908c01611f4c565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff168b5f01357ff08f338c8905e343697a35fef11af2f611a36658016e0653521354c865373ea78860405161055b91815260200190565b60405180910390a45050505095945050505050565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff166105d3576040517f77a399b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105fc7f369b2f3f00000000000000000000000000000000000000000000000000000000610e6e565b61060581610fc3565b50565b5f8181527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab016020908152604080832073ffffffffffffffffffffffffffffffffffffffff861684529091529020545b92915050565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae3005473ffffffffffffffffffffffffffffffffffffffff1633146106d4576040517f65f490650000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b61060581610fcc565b604080515f80825260208201819052818301819052606082018190526080820181905260a0820181905260c082015290819052610746825f9081527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab016020526040902060010190565b6040805160e081018252825473ffffffffffffffffffffffffffffffffffffffff8116825274010000000000000000000000000000000000000000810464ffffffffff9081166020840152790100000000000000000000000000000000000000000000000000820416928201929092527e0100000000000000000000000000000000000000000000000000000000000090910461ffff16606082015260018201546080820152600282015460a082015260039091015460c082015292915050565b6060610811611229565b905090565b5f610811611485565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae3005473ffffffffffffffffffffffffffffffffffffffff163314610891576040517f65f490650000000000000000000000000000000000000000000000000000000081523360048201526024016106cb565b61089b8282611664565b5050565b5f6108b06040840160208501611f4c565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461090b5761090b7f50db47c300000000000000000000000000000000000000000000000000000000610b4f565b5f61091c6060850160408601611f4c565b73ffffffffffffffffffffffffffffffffffffffff1603610960576109607f5da50bdb00000000000000000000000000000000000000000000000000000000610b4f565b82355f9081527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab016020526040902060018101546109c9906060860135907e01000000000000000000000000000000000000000000000000000000000000900461ffff168561193a565b91506109d58183610b57565b60048101546109e5908590610d24565b6109f86103076040860160208701611f4c565b7f25a22d57af6f735dc617e9781981413da3bc5a71376b4237270a04c144aaf700610a38610a2c6040870160208801611f4c565b82906080880135610dec565b5f610a496040870160208801611f4c565b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610a9091815260200190565b60405180910390a3610acd610aab6060870160408801611f4c565b600184015473ffffffffffffffffffffffffffffffffffffffff16908561199a565b610add6040860160208701611f4c565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16865f01357f970af01ab25e63f8131277859b2c17e9a07c2eb257e6db87449000d91c0f840186604051610b3f91815260200190565b60405180910390a4505092915050565b805f5260045ffd5b60048201546001830190610b8e57610b8e7ff235dd0100000000000000000000000000000000000000000000000000000000610b4f565b815f03610bbe57610bbe7fdf4e56a500000000000000000000000000000000000000000000000000000000610b4f565b805473ffffffffffffffffffffffffffffffffffffffff16610c0357610c037fe211c34c00000000000000000000000000000000000000000000000000000000610b4f565b8060010154828260020154610c1891906122cc565b1115610c4757610c477fb0b4e6d400000000000000000000000000000000000000000000000000000000610b4f565b805474010000000000000000000000000000000000000000900464ffffffffff16421015610c9857610c987f4b3950d800000000000000000000000000000000000000000000000000000000610b4f565b8054790100000000000000000000000000000000000000000000000000900464ffffffffff1615801590610cf157508054790100000000000000000000000000000000000000000000000000900464ffffffffff164210155b15610d1f57610d1f7fd87c5b1d00000000000000000000000000000000000000000000000000000000610b4f565b505050565b5f610d2e836119ed565b9050610d4b8282610d4260a08701876122df565b90929091611a2c565b610d1f57610d1f7f592fca3400000000000000000000000000000000000000000000000000000000610b4f565b73ffffffffffffffffffffffffffffffffffffffff82165f908152602084905260409020805415610dcc57610dcc7f7f76444f00000000000000000000000000000000000000000000000000000000610b4f565b81846001016002015f828254610de291906122cc565b9091555050555050565b610df7838383611a64565b600290920180549290920390915550565b61089b7feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab005473ffffffffffffffffffffffffffffffffffffffff848116911683611ada565b5f6c010000000000000000000000008210610e6a57610e6a611b23565b5090565b7fffffffff0000000000000000000000000000000000000000000000000000000081165f9081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b00602052604090205460ff16610f42577fffffffff0000000000000000000000000000000000000000000000000000000081165f9081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b006020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610f74565b6040517ff2cfeefa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fffffffff000000000000000000000000000000000000000000000000000000008216907f78f84e5b1c5c05be2b5ad3800781dd404d6d6c6302bc755c0fe20f58a33a7f22905f90a250565b61060581611b30565b7feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab005465ffffffffffff7401000000000000000000000000000000000000000082048116917a0100000000000000000000000000000000000000000000000000009004165f61103a828461234a565b905065ffffffffffff82161561110d5765ffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8201165f9081527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab016020526040812060010190506110b6604086016020870161237a565b815464ffffffffff918216740100000000000000000000000000000000000000009091049091161061110b5761110b7f7b10269c00000000000000000000000000000000000000000000000000000000610b4f565b505b61112761111d6020860186611f4c565b8560800135611bda565b836111638265ffffffffffff165f9081527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab016020526040902090565b60010161117082826123ad565b5061117e905082600161234a565b7feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab00805479ffffffffffffffffffffffffffffffffffffffffffffffffffff167a01000000000000000000000000000000000000000000000000000065ffffffffffff93841602179055604051908216907fb2d7f7a48138c995ec7024ac4e176fad4415d42377559f3178e3830941b048419061121b9087906125b6565b60405180910390a250505050565b60605f5f6112987feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab005474010000000000000000000000000000000000000000810465ffffffffffff908116927a0100000000000000000000000000000000000000000000000000009092041690565b915091508065ffffffffffff1667ffffffffffffffff8111156112bd576112bd6125c4565b60405190808252806020026020018201604052801561134157816020015b6040805160e0810182525f8082526020808301829052928201819052606082018190526080820181905260a0820181905260c082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816112db5790505b5092505f5b8165ffffffffffff1681101561147f5761139d61136b8265ffffffffffff86166122cc565b5f9081527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab016020526040902060010190565b6040805160e081018252825473ffffffffffffffffffffffffffffffffffffffff8116825274010000000000000000000000000000000000000000810464ffffffffff9081166020840152790100000000000000000000000000000000000000000000000000820416928201929092527e0100000000000000000000000000000000000000000000000000000000000090910461ffff16606082015260018201546080820152600282015460a082015260039091015460c0820152845185908390811061146c5761146c6125f1565b6020908102919091010152600101611346565b50505090565b5f5f5f6114f37feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab005474010000000000000000000000000000000000000000810465ffffffffffff908116927a0100000000000000000000000000000000000000000000000000009092041690565b915091508065ffffffffffff165f0361152f5761152f7f44d5f09400000000000000000000000000000000000000000000000000000000610b4f565b65ffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83830101165f6115688260016122cc565b90505b8365ffffffffffff1681111561163a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff015f8181527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab0160205260409020600101805464ffffffffff7901000000000000000000000000000000000000000000000000008204811691740100000000000000000000000000000000000000009004164210801590611623575080158061162357508042105b1561163357509095945050505050565b505061156b565b5061147f7f44d5f09400000000000000000000000000000000000000000000000000000000610b4f565b7feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab00805465ffffffffffff7401000000000000000000000000000000000000000082048116917a01000000000000000000000000000000000000000000000000000090048116906116d485846122cc565b1115611703576117037fae4eeeb100000000000000000000000000000000000000000000000000000000610b4f565b835f80805b8365ffffffffffff1681101561183f573689898381811061172b5761172b6125f1565b905060e002019050806020016020810190611746919061237a565b64ffffffffff168465ffffffffffff1610611784576117847f7b10269c00000000000000000000000000000000000000000000000000000000610b4f565b5f600189018161179c8565ffffffffffff8c166122cc565b815260208101919091526040015f20600381015490915060808301358111156117e8576117e87fae4eeeb100000000000000000000000000000000000000000000000000000000610b4f565b6117f28284611c2a565b611802604084016020850161237a565b64ffffffffff1695506118196080840135866122cc565b945061183161182b6020850185611f4c565b86611bda565b505050806001019050611708565b50855465ffffffffffff8085167a010000000000000000000000000000000000000000000000000000810279ffffffffffffffffffffffffffffffffffffffffffffffffffff909316929092178855851611156118ee5765ffffffffffff83165b8465ffffffffffff168110156118ec5765ffffffffffff861681015f908152600180890160205260408220808201839055600281018390556003810183905560040191909155016118a0565b505b8465ffffffffffff167ff91c9c864018770f197086e7e64354d3a54259e85887953cbbe7d02ba32aba8e898960405161192892919061261e565b60405180910390a25050505050505050565b5f8161ffff168361ffff1614611973576119737f70566c0000000000000000000000000000000000000000000000000000000000610b4f565b61ffff831615611992575f61198c858561ffff16611dab565b90940393505b509192915050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f5114166119e357803d853b1517106119e3576390b8ec185f526004601cfd5b505f603452505050565b5f806119ff6040840160208501611f4c565b604080515f9283526060808701356020908152608090970135835283208352949091209390525090919050565b5f8315611a5c578360051b8501855b803580851160051b94855260209485185260405f209301818110611a3b5750505b501492915050565b5f5f611a71858585611dfe565b915091508115611ad3576040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015260248101829052604481018490526064016106cb565b5050505050565b81601452806034526f095ea7b30000000000000000000000005f5260205f604460105f875af18060015f5114166119e357803d853b1517106119e357633e3f8f735f526004601cfd5b6335278d125f526004601cfd5b73ffffffffffffffffffffffffffffffffffffffff8116611b7457611b747fe3224c7800000000000000000000000000000000000000000000000000000000610b4f565b7feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab0080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b611bfa73ffffffffffffffffffffffffffffffffffffffff831630611e25565b81111561089b5761089b7f42e1bedf00000000000000000000000000000000000000000000000000000000610b4f565b60018201611c3e604083016020840161237a565b815464ffffffffff9190911674010000000000000000000000000000000000000000027fffffffffffffff0000000000ffffffffffffffffffffffffffffffffffffffff909116178155611c98606083016040840161237a565b815464ffffffffff91909116790100000000000000000000000000000000000000000000000000027fffff0000000000ffffffffffffffffffffffffffffffffffffffffffffffffff9091161781556080820135600182015560c08201356003820155611d086020830183611f4c565b81547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff91909116178155611d58608083016060840161265f565b815461ffff919091167e01000000000000000000000000000000000000000000000000000000000000027dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9091161790555050565b5f612710821115611de057611de07f197f19620000000000000000000000000000000000000000000000000000000083611e58565b612710611ded838561267a565b611df79190612691565b9392505050565b5f82815260208490526040902080548281109182611e1c5783820381555b50935093915050565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b815f528060045260245ffd5b5f60c08284031215611e74575f5ffd5b50919050565b73ffffffffffffffffffffffffffffffffffffffff81168114610605575f5ffd5b5f5f5f5f5f60808688031215611eaf575f5ffd5b853567ffffffffffffffff811115611ec5575f5ffd5b611ed188828901611e64565b9550506020860135611ee281611e7a565b935060408601359250606086013567ffffffffffffffff811115611f04575f5ffd5b8601601f81018813611f14575f5ffd5b803567ffffffffffffffff811115611f2a575f5ffd5b886020828401011115611f3b575f5ffd5b959894975092955050506020019190565b5f60208284031215611f5c575f5ffd5b8135611df781611e7a565b5f5f60408385031215611f78575f5ffd5b8235611f8381611e7a565b946020939093013593505050565b5f60e0828403128015611fa2575f5ffd5b509092915050565b5f60208284031215611fba575f5ffd5b5035919050565b60e08101610657828473ffffffffffffffffffffffffffffffffffffffff815116825264ffffffffff602082015116602083015264ffffffffff604082015116604083015261ffff60608201511660608301526080810151608083015260a081015160a083015260c081015160c08301525050565b602080825282518282018190525f918401906040840190835b818110156120df576120c983855173ffffffffffffffffffffffffffffffffffffffff815116825264ffffffffff602082015116602083015264ffffffffff604082015116604083015261ffff60608201511660608301526080810151608083015260a081015160a083015260c081015160c08301525050565b6020939093019260e0929092019160010161204f565b509095945050505050565b5f5f602083850312156120fb575f5ffd5b823567ffffffffffffffff811115612111575f5ffd5b8301601f81018513612121575f5ffd5b803567ffffffffffffffff811115612137575f5ffd5b85602060e08302840101111561214b575f5ffd5b6020919091019590945092505050565b61ffff81168114610605575f5ffd5b80356121758161215b565b919050565b5f5f6040838503121561218b575f5ffd5b823567ffffffffffffffff8111156121a1575f5ffd5b6121ad85828601611e64565b92505060208301356121be8161215b565b809150509250929050565b6bffffffffffffffffffffffff8816815273ffffffffffffffffffffffffffffffffffffffff8716602082015273ffffffffffffffffffffffffffffffffffffffff8616604082015273ffffffffffffffffffffffffffffffffffffffff8516606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01601019695505050505050565b5f60208284031215612298575f5ffd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b808201808211156106575761065761229f565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612312575f5ffd5b83018035915067ffffffffffffffff82111561232c575f5ffd5b6020019150600581901b3603821315612343575f5ffd5b9250929050565b65ffffffffffff81811683821601908111156106575761065761229f565b64ffffffffff81168114610605575f5ffd5b5f6020828403121561238a575f5ffd5b8135611df781612368565b5f813561065781612368565b5f81356106578161215b565b81356123b881611e7a565b73ffffffffffffffffffffffffffffffffffffffff81167fffffffffffffffffffffffff000000000000000000000000000000000000000083541617825550602082013561240581612368565b81547fffffffffffffff0000000000ffffffffffffffffffffffffffffffffffffffff1660a09190911b78ffffffffff0000000000000000000000000000000000000000161781556124ab61245c60408401612395565b82547fffff0000000000ffffffffffffffffffffffffffffffffffffffffffffffffff1660c89190911b7dffffffffff0000000000000000000000000000000000000000000000000016178255565b6125096124ba606084016123a1565b82547dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660f09190911b7fffff00000000000000000000000000000000000000000000000000000000000016178255565b6080820135600182015560a0820135600282015560c090910135600390910155565b803561253681611e7a565b73ffffffffffffffffffffffffffffffffffffffff168252602081013561255c81612368565b64ffffffffff166020830152604081013561257681612368565b64ffffffffff16604083015261258e6060820161216a565b61ffff1660608301526080818101359083015260a0808201359083015260c090810135910152565b60e08101610657828461252b565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b602080825281018290525f8360408301825b8581101561265557612642828461252b565b60e0928301929190910190600101612630565b5095945050505050565b5f6020828403121561266f575f5ffd5b8135611df78161215b565b80820281158282048414176106575761065761229f565b5f826126c4577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b50049056";
790
810
 
791
811
  type DropFacetConstructorParams =
792
812
  | [signer?: Signer]
@@ -76,6 +76,11 @@ const _abi = [
76
76
  type: "address",
77
77
  internalType: "address",
78
78
  },
79
+ {
80
+ name: "recipient",
81
+ type: "address",
82
+ internalType: "address",
83
+ },
79
84
  {
80
85
  name: "quantity",
81
86
  type: "uint256",
@@ -137,6 +142,11 @@ const _abi = [
137
142
  type: "address",
138
143
  internalType: "address",
139
144
  },
145
+ {
146
+ name: "recipient",
147
+ type: "address",
148
+ internalType: "address",
149
+ },
140
150
  {
141
151
  name: "quantity",
142
152
  type: "uint256",
@@ -605,6 +615,11 @@ const _abi = [
605
615
  name: "DropFacet__InvalidProof",
606
616
  inputs: [],
607
617
  },
618
+ {
619
+ type: "error",
620
+ name: "DropFacet__InvalidRecipient",
621
+ inputs: [],
622
+ },
608
623
  {
609
624
  type: "error",
610
625
  name: "DropFacet__MerkleRootNotSet",
@@ -615,6 +630,11 @@ const _abi = [
615
630
  name: "DropFacet__NoActiveClaimCondition",
616
631
  inputs: [],
617
632
  },
633
+ {
634
+ type: "error",
635
+ name: "DropFacet__NotClaimingAccount",
636
+ inputs: [],
637
+ },
618
638
  {
619
639
  type: "error",
620
640
  name: "DropFacet__QuantityMustBeGreaterThanZero",
@@ -138,6 +138,23 @@ const _abi = [
138
138
  },
139
139
  ],
140
140
  },
141
+ {
142
+ name: "posterFee",
143
+ type: "tuple",
144
+ internalType: "struct ISwapRouterBase.FeeConfig",
145
+ components: [
146
+ {
147
+ name: "recipient",
148
+ type: "address",
149
+ internalType: "address",
150
+ },
151
+ {
152
+ name: "feeBps",
153
+ type: "uint16",
154
+ internalType: "uint16",
155
+ },
156
+ ],
157
+ },
141
158
  {
142
159
  name: "permit",
143
160
  type: "tuple",
@@ -165,11 +182,6 @@ const _abi = [
165
182
  },
166
183
  ],
167
184
  },
168
- {
169
- name: "poster",
170
- type: "address",
171
- internalType: "address",
172
- },
173
185
  ],
174
186
  outputs: [
175
187
  {
@@ -440,6 +452,11 @@ const _abi = [
440
452
  name: "SwapRouter__NativeTokenNotSupportedWithPermit",
441
453
  inputs: [],
442
454
  },
455
+ {
456
+ type: "error",
457
+ name: "SwapRouter__PosterFeeMismatch",
458
+ inputs: [],
459
+ },
443
460
  {
444
461
  type: "error",
445
462
  name: "SwapRouter__RecipientRequired",
@@ -143,6 +143,23 @@ const _abi = [
143
143
  },
144
144
  ],
145
145
  },
146
+ {
147
+ name: "posterFee",
148
+ type: "tuple",
149
+ internalType: "struct ISwapRouterBase.FeeConfig",
150
+ components: [
151
+ {
152
+ name: "recipient",
153
+ type: "address",
154
+ internalType: "address",
155
+ },
156
+ {
157
+ name: "feeBps",
158
+ type: "uint16",
159
+ internalType: "uint16",
160
+ },
161
+ ],
162
+ },
146
163
  {
147
164
  name: "permit",
148
165
  type: "tuple",
@@ -170,11 +187,6 @@ const _abi = [
170
187
  },
171
188
  ],
172
189
  },
173
- {
174
- name: "poster",
175
- type: "address",
176
- internalType: "address",
177
- },
178
190
  ],
179
191
  outputs: [
180
192
  {
@@ -288,9 +300,21 @@ const _abi = [
288
300
  ],
289
301
  },
290
302
  {
291
- name: "poster",
292
- type: "address",
293
- internalType: "address",
303
+ name: "posterFee",
304
+ type: "tuple",
305
+ internalType: "struct ISwapRouterBase.FeeConfig",
306
+ components: [
307
+ {
308
+ name: "recipient",
309
+ type: "address",
310
+ internalType: "address",
311
+ },
312
+ {
313
+ name: "feeBps",
314
+ type: "uint16",
315
+ internalType: "uint16",
316
+ },
317
+ ],
294
318
  },
295
319
  {
296
320
  name: "amount",
@@ -465,6 +489,11 @@ const _abi = [
465
489
  name: "SwapRouter__NativeTokenNotSupportedWithPermit",
466
490
  inputs: [],
467
491
  },
492
+ {
493
+ type: "error",
494
+ name: "SwapRouter__PosterFeeMismatch",
495
+ inputs: [],
496
+ },
468
497
  {
469
498
  type: "error",
470
499
  name: "SwapRouter__RecipientRequired",