@sudobility/contracts 1.11.1 → 1.11.2

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 (58) hide show
  1. package/artifacts/contracts/Mailer.sol/Mailer.d.ts +120 -2
  2. package/artifacts/contracts/Mailer.sol/Mailer.dbg.json +1 -1
  3. package/artifacts/contracts/Mailer.sol/Mailer.json +120 -2
  4. package/artifacts/contracts/MockUSDC.sol/MockUSDC.dbg.json +1 -1
  5. package/artifacts/contracts/interfaces/IERC20.sol/IERC20.dbg.json +1 -1
  6. package/dist/evm/src/evm/mailer-client.d.ts +890 -190
  7. package/dist/evm/src/evm/mailer-client.d.ts.map +1 -1
  8. package/dist/evm/src/evm/mailer-client.js +169 -237
  9. package/dist/evm/src/evm/mailer-client.js.map +1 -1
  10. package/dist/evm/typechain-types/Mailer.d.ts +81 -11
  11. package/dist/evm/typechain-types/Mailer.d.ts.map +1 -1
  12. package/dist/evm/typechain-types/factories/Mailer__factory.d.ts +93 -1
  13. package/dist/evm/typechain-types/factories/Mailer__factory.d.ts.map +1 -1
  14. package/dist/evm/typechain-types/factories/Mailer__factory.js +119 -1
  15. package/dist/evm/typechain-types/factories/Mailer__factory.js.map +1 -1
  16. package/dist/solana/solana/mailer-client.d.ts +4 -0
  17. package/dist/solana/solana/mailer-client.d.ts.map +1 -1
  18. package/dist/solana/solana/mailer-client.js +181 -18
  19. package/dist/solana/solana/mailer-client.js.map +1 -1
  20. package/dist/unified/src/evm/mailer-client.d.ts +890 -190
  21. package/dist/unified/src/evm/mailer-client.d.ts.map +1 -1
  22. package/dist/unified/src/evm/mailer-client.js +169 -237
  23. package/dist/unified/src/evm/mailer-client.js.map +1 -1
  24. package/dist/unified/src/solana/mailer-client.d.ts +4 -0
  25. package/dist/unified/src/solana/mailer-client.d.ts.map +1 -1
  26. package/dist/unified/src/solana/mailer-client.js +181 -18
  27. package/dist/unified/src/solana/mailer-client.js.map +1 -1
  28. package/dist/unified/src/unified/onchain-mailer-client.d.ts +25 -0
  29. package/dist/unified/src/unified/onchain-mailer-client.d.ts.map +1 -1
  30. package/dist/unified/src/unified/onchain-mailer-client.js +147 -4
  31. package/dist/unified/src/unified/onchain-mailer-client.js.map +1 -1
  32. package/dist/unified/typechain-types/Mailer.d.ts +81 -11
  33. package/dist/unified/typechain-types/Mailer.d.ts.map +1 -1
  34. package/dist/unified/typechain-types/factories/Mailer__factory.d.ts +93 -1
  35. package/dist/unified/typechain-types/factories/Mailer__factory.d.ts.map +1 -1
  36. package/dist/unified/typechain-types/factories/Mailer__factory.js +119 -1
  37. package/dist/unified/typechain-types/factories/Mailer__factory.js.map +1 -1
  38. package/dist/unified-esm/src/evm/mailer-client.d.ts +890 -190
  39. package/dist/unified-esm/src/evm/mailer-client.d.ts.map +1 -1
  40. package/dist/unified-esm/src/evm/mailer-client.js +171 -239
  41. package/dist/unified-esm/src/evm/mailer-client.js.map +1 -1
  42. package/dist/unified-esm/src/solana/mailer-client.d.ts +4 -0
  43. package/dist/unified-esm/src/solana/mailer-client.d.ts.map +1 -1
  44. package/dist/unified-esm/src/solana/mailer-client.js +181 -18
  45. package/dist/unified-esm/src/solana/mailer-client.js.map +1 -1
  46. package/dist/unified-esm/src/unified/onchain-mailer-client.d.ts +25 -0
  47. package/dist/unified-esm/src/unified/onchain-mailer-client.d.ts.map +1 -1
  48. package/dist/unified-esm/src/unified/onchain-mailer-client.js +147 -4
  49. package/dist/unified-esm/src/unified/onchain-mailer-client.js.map +1 -1
  50. package/dist/unified-esm/typechain-types/Mailer.d.ts +81 -11
  51. package/dist/unified-esm/typechain-types/Mailer.d.ts.map +1 -1
  52. package/dist/unified-esm/typechain-types/factories/Mailer__factory.d.ts +93 -1
  53. package/dist/unified-esm/typechain-types/factories/Mailer__factory.d.ts.map +1 -1
  54. package/dist/unified-esm/typechain-types/factories/Mailer__factory.js +119 -1
  55. package/dist/unified-esm/typechain-types/factories/Mailer__factory.js.map +1 -1
  56. package/package.json +1 -1
  57. package/typechain-types/Mailer.ts +137 -9
  58. package/typechain-types/factories/Mailer__factory.ts +119 -1
@@ -48,8 +48,10 @@ export interface MailerInterface extends Interface {
48
48
  | "ownerClaimable"
49
49
  | "pause"
50
50
  | "paused"
51
+ | "permissions"
51
52
  | "recipientClaims"
52
53
  | "rejectDelegation"
54
+ | "removePermission"
53
55
  | "send"
54
56
  | "sendFee"
55
57
  | "sendPrepared"
@@ -59,6 +61,7 @@ export interface MailerInterface extends Interface {
59
61
  | "setCustomFeePercentage"
60
62
  | "setDelegationFee"
61
63
  | "setFee"
64
+ | "setPermission"
62
65
  | "unpause"
63
66
  | "usdcToken"
64
67
  ): FunctionFragment;
@@ -77,6 +80,8 @@ export interface MailerInterface extends Interface {
77
80
  | "MailSent"
78
81
  | "MailSentToEmail"
79
82
  | "OwnerClaimed"
83
+ | "PermissionGranted"
84
+ | "PermissionRevoked"
80
85
  | "PreparedMailSent"
81
86
  | "PreparedMailSentToEmail"
82
87
  | "RecipientClaimed"
@@ -157,6 +162,10 @@ export interface MailerInterface extends Interface {
157
162
  ): string;
158
163
  encodeFunctionData(functionFragment: "pause", values?: undefined): string;
159
164
  encodeFunctionData(functionFragment: "paused", values?: undefined): string;
165
+ encodeFunctionData(
166
+ functionFragment: "permissions",
167
+ values: [AddressLike, AddressLike]
168
+ ): string;
160
169
  encodeFunctionData(
161
170
  functionFragment: "recipientClaims",
162
171
  values: [AddressLike]
@@ -165,26 +174,30 @@ export interface MailerInterface extends Interface {
165
174
  functionFragment: "rejectDelegation",
166
175
  values: [AddressLike]
167
176
  ): string;
177
+ encodeFunctionData(
178
+ functionFragment: "removePermission",
179
+ values: [AddressLike]
180
+ ): string;
168
181
  encodeFunctionData(
169
182
  functionFragment: "send",
170
- values: [AddressLike, string, string, boolean, boolean]
183
+ values: [AddressLike, string, string, AddressLike, boolean, boolean]
171
184
  ): string;
172
185
  encodeFunctionData(functionFragment: "sendFee", values?: undefined): string;
173
186
  encodeFunctionData(
174
187
  functionFragment: "sendPrepared",
175
- values: [AddressLike, string, boolean, boolean]
188
+ values: [AddressLike, string, AddressLike, boolean, boolean]
176
189
  ): string;
177
190
  encodeFunctionData(
178
191
  functionFragment: "sendPreparedToEmailAddress",
179
- values: [string, string]
192
+ values: [string, string, AddressLike]
180
193
  ): string;
181
194
  encodeFunctionData(
182
195
  functionFragment: "sendThroughWebhook",
183
- values: [AddressLike, string, boolean, boolean]
196
+ values: [AddressLike, string, AddressLike, boolean, boolean]
184
197
  ): string;
185
198
  encodeFunctionData(
186
199
  functionFragment: "sendToEmailAddress",
187
- values: [string, string, string]
200
+ values: [string, string, string, AddressLike]
188
201
  ): string;
189
202
  encodeFunctionData(
190
203
  functionFragment: "setCustomFeePercentage",
@@ -198,6 +211,10 @@ export interface MailerInterface extends Interface {
198
211
  functionFragment: "setFee",
199
212
  values: [BigNumberish]
200
213
  ): string;
214
+ encodeFunctionData(
215
+ functionFragment: "setPermission",
216
+ values: [AddressLike]
217
+ ): string;
201
218
  encodeFunctionData(functionFragment: "unpause", values?: undefined): string;
202
219
  encodeFunctionData(functionFragment: "usdcToken", values?: undefined): string;
203
220
 
@@ -271,6 +288,10 @@ export interface MailerInterface extends Interface {
271
288
  ): Result;
272
289
  decodeFunctionResult(functionFragment: "pause", data: BytesLike): Result;
273
290
  decodeFunctionResult(functionFragment: "paused", data: BytesLike): Result;
291
+ decodeFunctionResult(
292
+ functionFragment: "permissions",
293
+ data: BytesLike
294
+ ): Result;
274
295
  decodeFunctionResult(
275
296
  functionFragment: "recipientClaims",
276
297
  data: BytesLike
@@ -279,6 +300,10 @@ export interface MailerInterface extends Interface {
279
300
  functionFragment: "rejectDelegation",
280
301
  data: BytesLike
281
302
  ): Result;
303
+ decodeFunctionResult(
304
+ functionFragment: "removePermission",
305
+ data: BytesLike
306
+ ): Result;
282
307
  decodeFunctionResult(functionFragment: "send", data: BytesLike): Result;
283
308
  decodeFunctionResult(functionFragment: "sendFee", data: BytesLike): Result;
284
309
  decodeFunctionResult(
@@ -306,6 +331,10 @@ export interface MailerInterface extends Interface {
306
331
  data: BytesLike
307
332
  ): Result;
308
333
  decodeFunctionResult(functionFragment: "setFee", data: BytesLike): Result;
334
+ decodeFunctionResult(
335
+ functionFragment: "setPermission",
336
+ data: BytesLike
337
+ ): Result;
309
338
  decodeFunctionResult(functionFragment: "unpause", data: BytesLike): Result;
310
339
  decodeFunctionResult(functionFragment: "usdcToken", data: BytesLike): Result;
311
340
  }
@@ -486,6 +515,32 @@ export namespace OwnerClaimedEvent {
486
515
  export type LogDescription = TypedLogDescription<Event>;
487
516
  }
488
517
 
518
+ export namespace PermissionGrantedEvent {
519
+ export type InputTuple = [contractAddress: AddressLike, wallet: AddressLike];
520
+ export type OutputTuple = [contractAddress: string, wallet: string];
521
+ export interface OutputObject {
522
+ contractAddress: string;
523
+ wallet: string;
524
+ }
525
+ export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
526
+ export type Filter = TypedDeferredTopicFilter<Event>;
527
+ export type Log = TypedEventLog<Event>;
528
+ export type LogDescription = TypedLogDescription<Event>;
529
+ }
530
+
531
+ export namespace PermissionRevokedEvent {
532
+ export type InputTuple = [contractAddress: AddressLike, wallet: AddressLike];
533
+ export type OutputTuple = [contractAddress: string, wallet: string];
534
+ export interface OutputObject {
535
+ contractAddress: string;
536
+ wallet: string;
537
+ }
538
+ export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
539
+ export type Filter = TypedDeferredTopicFilter<Event>;
540
+ export type Log = TypedEventLog<Event>;
541
+ export type LogDescription = TypedLogDescription<Event>;
542
+ }
543
+
489
544
  export namespace PreparedMailSentEvent {
490
545
  export type InputTuple = [
491
546
  from: AddressLike,
@@ -708,6 +763,12 @@ export interface Mailer extends BaseContract {
708
763
 
709
764
  paused: TypedContractMethod<[], [boolean], "view">;
710
765
 
766
+ permissions: TypedContractMethod<
767
+ [arg0: AddressLike, arg1: AddressLike],
768
+ [boolean],
769
+ "view"
770
+ >;
771
+
711
772
  recipientClaims: TypedContractMethod<
712
773
  [arg0: AddressLike],
713
774
  [[bigint, bigint] & { amount: bigint; timestamp: bigint }],
@@ -720,11 +781,18 @@ export interface Mailer extends BaseContract {
720
781
  "nonpayable"
721
782
  >;
722
783
 
784
+ removePermission: TypedContractMethod<
785
+ [contractAddress: AddressLike],
786
+ [void],
787
+ "nonpayable"
788
+ >;
789
+
723
790
  send: TypedContractMethod<
724
791
  [
725
792
  to: AddressLike,
726
793
  subject: string,
727
794
  body: string,
795
+ payer: AddressLike,
728
796
  revenueShareToReceiver: boolean,
729
797
  resolveSenderToName: boolean
730
798
  ],
@@ -738,6 +806,7 @@ export interface Mailer extends BaseContract {
738
806
  [
739
807
  to: AddressLike,
740
808
  mailId: string,
809
+ payer: AddressLike,
741
810
  revenueShareToReceiver: boolean,
742
811
  resolveSenderToName: boolean
743
812
  ],
@@ -746,7 +815,7 @@ export interface Mailer extends BaseContract {
746
815
  >;
747
816
 
748
817
  sendPreparedToEmailAddress: TypedContractMethod<
749
- [toEmail: string, mailId: string],
818
+ [toEmail: string, mailId: string, payer: AddressLike],
750
819
  [void],
751
820
  "nonpayable"
752
821
  >;
@@ -755,6 +824,7 @@ export interface Mailer extends BaseContract {
755
824
  [
756
825
  to: AddressLike,
757
826
  webhookId: string,
827
+ payer: AddressLike,
758
828
  revenueShareToReceiver: boolean,
759
829
  resolveSenderToName: boolean
760
830
  ],
@@ -763,7 +833,7 @@ export interface Mailer extends BaseContract {
763
833
  >;
764
834
 
765
835
  sendToEmailAddress: TypedContractMethod<
766
- [toEmail: string, subject: string, body: string],
836
+ [toEmail: string, subject: string, body: string, payer: AddressLike],
767
837
  [void],
768
838
  "nonpayable"
769
839
  >;
@@ -782,6 +852,12 @@ export interface Mailer extends BaseContract {
782
852
 
783
853
  setFee: TypedContractMethod<[usdcAmount: BigNumberish], [void], "nonpayable">;
784
854
 
855
+ setPermission: TypedContractMethod<
856
+ [contractAddress: AddressLike],
857
+ [void],
858
+ "nonpayable"
859
+ >;
860
+
785
861
  unpause: TypedContractMethod<[], [void], "nonpayable">;
786
862
 
787
863
  usdcToken: TypedContractMethod<[], [string], "view">;
@@ -866,6 +942,13 @@ export interface Mailer extends BaseContract {
866
942
  getFunction(
867
943
  nameOrSignature: "paused"
868
944
  ): TypedContractMethod<[], [boolean], "view">;
945
+ getFunction(
946
+ nameOrSignature: "permissions"
947
+ ): TypedContractMethod<
948
+ [arg0: AddressLike, arg1: AddressLike],
949
+ [boolean],
950
+ "view"
951
+ >;
869
952
  getFunction(
870
953
  nameOrSignature: "recipientClaims"
871
954
  ): TypedContractMethod<
@@ -880,6 +963,9 @@ export interface Mailer extends BaseContract {
880
963
  [void],
881
964
  "nonpayable"
882
965
  >;
966
+ getFunction(
967
+ nameOrSignature: "removePermission"
968
+ ): TypedContractMethod<[contractAddress: AddressLike], [void], "nonpayable">;
883
969
  getFunction(
884
970
  nameOrSignature: "send"
885
971
  ): TypedContractMethod<
@@ -887,6 +973,7 @@ export interface Mailer extends BaseContract {
887
973
  to: AddressLike,
888
974
  subject: string,
889
975
  body: string,
976
+ payer: AddressLike,
890
977
  revenueShareToReceiver: boolean,
891
978
  resolveSenderToName: boolean
892
979
  ],
@@ -902,6 +989,7 @@ export interface Mailer extends BaseContract {
902
989
  [
903
990
  to: AddressLike,
904
991
  mailId: string,
992
+ payer: AddressLike,
905
993
  revenueShareToReceiver: boolean,
906
994
  resolveSenderToName: boolean
907
995
  ],
@@ -911,7 +999,7 @@ export interface Mailer extends BaseContract {
911
999
  getFunction(
912
1000
  nameOrSignature: "sendPreparedToEmailAddress"
913
1001
  ): TypedContractMethod<
914
- [toEmail: string, mailId: string],
1002
+ [toEmail: string, mailId: string, payer: AddressLike],
915
1003
  [void],
916
1004
  "nonpayable"
917
1005
  >;
@@ -921,6 +1009,7 @@ export interface Mailer extends BaseContract {
921
1009
  [
922
1010
  to: AddressLike,
923
1011
  webhookId: string,
1012
+ payer: AddressLike,
924
1013
  revenueShareToReceiver: boolean,
925
1014
  resolveSenderToName: boolean
926
1015
  ],
@@ -930,7 +1019,7 @@ export interface Mailer extends BaseContract {
930
1019
  getFunction(
931
1020
  nameOrSignature: "sendToEmailAddress"
932
1021
  ): TypedContractMethod<
933
- [toEmail: string, subject: string, body: string],
1022
+ [toEmail: string, subject: string, body: string, payer: AddressLike],
934
1023
  [void],
935
1024
  "nonpayable"
936
1025
  >;
@@ -947,6 +1036,9 @@ export interface Mailer extends BaseContract {
947
1036
  getFunction(
948
1037
  nameOrSignature: "setFee"
949
1038
  ): TypedContractMethod<[usdcAmount: BigNumberish], [void], "nonpayable">;
1039
+ getFunction(
1040
+ nameOrSignature: "setPermission"
1041
+ ): TypedContractMethod<[contractAddress: AddressLike], [void], "nonpayable">;
950
1042
  getFunction(
951
1043
  nameOrSignature: "unpause"
952
1044
  ): TypedContractMethod<[], [void], "nonpayable">;
@@ -1038,6 +1130,20 @@ export interface Mailer extends BaseContract {
1038
1130
  OwnerClaimedEvent.OutputTuple,
1039
1131
  OwnerClaimedEvent.OutputObject
1040
1132
  >;
1133
+ getEvent(
1134
+ key: "PermissionGranted"
1135
+ ): TypedContractEvent<
1136
+ PermissionGrantedEvent.InputTuple,
1137
+ PermissionGrantedEvent.OutputTuple,
1138
+ PermissionGrantedEvent.OutputObject
1139
+ >;
1140
+ getEvent(
1141
+ key: "PermissionRevoked"
1142
+ ): TypedContractEvent<
1143
+ PermissionRevokedEvent.InputTuple,
1144
+ PermissionRevokedEvent.OutputTuple,
1145
+ PermissionRevokedEvent.OutputObject
1146
+ >;
1041
1147
  getEvent(
1042
1148
  key: "PreparedMailSent"
1043
1149
  ): TypedContractEvent<
@@ -1207,6 +1313,28 @@ export interface Mailer extends BaseContract {
1207
1313
  OwnerClaimedEvent.OutputObject
1208
1314
  >;
1209
1315
 
1316
+ "PermissionGranted(address,address)": TypedContractEvent<
1317
+ PermissionGrantedEvent.InputTuple,
1318
+ PermissionGrantedEvent.OutputTuple,
1319
+ PermissionGrantedEvent.OutputObject
1320
+ >;
1321
+ PermissionGranted: TypedContractEvent<
1322
+ PermissionGrantedEvent.InputTuple,
1323
+ PermissionGrantedEvent.OutputTuple,
1324
+ PermissionGrantedEvent.OutputObject
1325
+ >;
1326
+
1327
+ "PermissionRevoked(address,address)": TypedContractEvent<
1328
+ PermissionRevokedEvent.InputTuple,
1329
+ PermissionRevokedEvent.OutputTuple,
1330
+ PermissionRevokedEvent.OutputObject
1331
+ >;
1332
+ PermissionRevoked: TypedContractEvent<
1333
+ PermissionRevokedEvent.InputTuple,
1334
+ PermissionRevokedEvent.OutputTuple,
1335
+ PermissionRevokedEvent.OutputObject
1336
+ >;
1337
+
1210
1338
  "PreparedMailSent(address,address,string,bool,bool)": TypedContractEvent<
1211
1339
  PreparedMailSentEvent.InputTuple,
1212
1340
  PreparedMailSentEvent.OutputTuple,
@@ -88,6 +88,11 @@ const _abi = [
88
88
  name: "TransferFailed",
89
89
  type: "error",
90
90
  },
91
+ {
92
+ inputs: [],
93
+ name: "UnpermittedPayer",
94
+ type: "error",
95
+ },
91
96
  {
92
97
  anonymous: false,
93
98
  inputs: [],
@@ -307,6 +312,44 @@ const _abi = [
307
312
  name: "OwnerClaimed",
308
313
  type: "event",
309
314
  },
315
+ {
316
+ anonymous: false,
317
+ inputs: [
318
+ {
319
+ indexed: true,
320
+ internalType: "address",
321
+ name: "contractAddress",
322
+ type: "address",
323
+ },
324
+ {
325
+ indexed: true,
326
+ internalType: "address",
327
+ name: "wallet",
328
+ type: "address",
329
+ },
330
+ ],
331
+ name: "PermissionGranted",
332
+ type: "event",
333
+ },
334
+ {
335
+ anonymous: false,
336
+ inputs: [
337
+ {
338
+ indexed: true,
339
+ internalType: "address",
340
+ name: "contractAddress",
341
+ type: "address",
342
+ },
343
+ {
344
+ indexed: true,
345
+ internalType: "address",
346
+ name: "wallet",
347
+ type: "address",
348
+ },
349
+ ],
350
+ name: "PermissionRevoked",
351
+ type: "event",
352
+ },
310
353
  {
311
354
  anonymous: false,
312
355
  inputs: [
@@ -740,6 +783,30 @@ const _abi = [
740
783
  stateMutability: "view",
741
784
  type: "function",
742
785
  },
786
+ {
787
+ inputs: [
788
+ {
789
+ internalType: "address",
790
+ name: "",
791
+ type: "address",
792
+ },
793
+ {
794
+ internalType: "address",
795
+ name: "",
796
+ type: "address",
797
+ },
798
+ ],
799
+ name: "permissions",
800
+ outputs: [
801
+ {
802
+ internalType: "bool",
803
+ name: "",
804
+ type: "bool",
805
+ },
806
+ ],
807
+ stateMutability: "view",
808
+ type: "function",
809
+ },
743
810
  {
744
811
  inputs: [
745
812
  {
@@ -777,6 +844,19 @@ const _abi = [
777
844
  stateMutability: "nonpayable",
778
845
  type: "function",
779
846
  },
847
+ {
848
+ inputs: [
849
+ {
850
+ internalType: "address",
851
+ name: "contractAddress",
852
+ type: "address",
853
+ },
854
+ ],
855
+ name: "removePermission",
856
+ outputs: [],
857
+ stateMutability: "nonpayable",
858
+ type: "function",
859
+ },
780
860
  {
781
861
  inputs: [
782
862
  {
@@ -794,6 +874,11 @@ const _abi = [
794
874
  name: "body",
795
875
  type: "string",
796
876
  },
877
+ {
878
+ internalType: "address",
879
+ name: "payer",
880
+ type: "address",
881
+ },
797
882
  {
798
883
  internalType: "bool",
799
884
  name: "revenueShareToReceiver",
@@ -835,6 +920,11 @@ const _abi = [
835
920
  name: "mailId",
836
921
  type: "string",
837
922
  },
923
+ {
924
+ internalType: "address",
925
+ name: "payer",
926
+ type: "address",
927
+ },
838
928
  {
839
929
  internalType: "bool",
840
930
  name: "revenueShareToReceiver",
@@ -863,6 +953,11 @@ const _abi = [
863
953
  name: "mailId",
864
954
  type: "string",
865
955
  },
956
+ {
957
+ internalType: "address",
958
+ name: "payer",
959
+ type: "address",
960
+ },
866
961
  ],
867
962
  name: "sendPreparedToEmailAddress",
868
963
  outputs: [],
@@ -881,6 +976,11 @@ const _abi = [
881
976
  name: "webhookId",
882
977
  type: "string",
883
978
  },
979
+ {
980
+ internalType: "address",
981
+ name: "payer",
982
+ type: "address",
983
+ },
884
984
  {
885
985
  internalType: "bool",
886
986
  name: "revenueShareToReceiver",
@@ -914,6 +1014,11 @@ const _abi = [
914
1014
  name: "body",
915
1015
  type: "string",
916
1016
  },
1017
+ {
1018
+ internalType: "address",
1019
+ name: "payer",
1020
+ type: "address",
1021
+ },
917
1022
  ],
918
1023
  name: "sendToEmailAddress",
919
1024
  outputs: [],
@@ -964,6 +1069,19 @@ const _abi = [
964
1069
  stateMutability: "nonpayable",
965
1070
  type: "function",
966
1071
  },
1072
+ {
1073
+ inputs: [
1074
+ {
1075
+ internalType: "address",
1076
+ name: "contractAddress",
1077
+ type: "address",
1078
+ },
1079
+ ],
1080
+ name: "setPermission",
1081
+ outputs: [],
1082
+ stateMutability: "nonpayable",
1083
+ type: "function",
1084
+ },
967
1085
  {
968
1086
  inputs: [],
969
1087
  name: "unpause",
@@ -987,7 +1105,7 @@ const _abi = [
987
1105
  ] as const;
988
1106
 
989
1107
  const _bytecode =
990
- "0x60c0604052620186a0600055629896806001553480156200001f57600080fd5b506040516200266e3803806200266e8339810160408190526200004291620000b4565b6001600160a01b03821615806200006057506001600160a01b038116155b156200007f5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b039182166080521660a052620000ec565b80516001600160a01b0381168114620000af57600080fd5b919050565b60008060408385031215620000c857600080fd5b620000d38362000097565b9150620000e36020840162000097565b90509250929050565b60805160a0516124ad620001c1600039600081816103a3015281816104ce015281816105e50152818161068f01528181610a3b01528181610adc01528181610d08015281816110e10152818161142201528181611713015281816117ab015281816118540152611a4401526000818161022f015281816106c10152818161080e0152818161090d01528181610c2801528181610e3401528181610f330152818161120501528181611304015281816115ed015281816117dd0152818161196301528181611c330152611d9901526124ad6000f3fe608060405234801561001057600080fd5b50600436106102105760003560e01c8063720e586f11610125578063b187bd26116100ad578063ced72f871161007c578063ced72f8714610484578063d15786871461048c578063ebf77de014610494578063f2292f09146104a7578063fa26bb27146104b057600080fd5b8063b187bd261461042d578063bbb2fe7c14610438578063c5f0a58f1461044b578063cd564ccd1461045457600080fd5b80638db3c5fd116100f45780638db3c5fd146103c55780639ded51dd146103cd578063a3a336bf146103d5578063ac637c7a14610411578063ae39279f1461042457600080fd5b8063720e586f146103705780637494b323146103835780638456cb59146103965780638da5cb5b1461039e57600080fd5b80634a4e3bd5116101a8578063585450141161017757806358545014146103125780635c975abb1461032557806369fe0e2d146103425780636a1c6e78146103555780636abb3b4f1461035d57600080fd5b80634a4e3bd5146102dc5780634b0b1b8b146102e457806355bfc81c146102ec578063569d7111146102ff57600080fd5b8063358cbf0a116101e4578063358cbf0a146102995780633a8c3d6a146102a15780633f4ba83a146102b45780633ff5aecd146102bc57600080fd5b80620270a41461021557806311eac8551461022a57806321241dfe1461026e578063285298af14610286575b600080fd5b610228610223366004612002565b6104c3565b005b6102517f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b610278624f1a0081565b604051908152602001610265565b610278610294366004612002565b6105b0565b6102286105da565b6102286102af36600461207e565b61078a565b610228610a30565b6102786102ca366004612002565b60066020526000908152604090205481565b610228610ad1565b610228610b72565b6102286102fa3660046120f9565b610cfd565b61022861030d366004612112565b610db0565b610228610320366004612002565b61104c565b6005546103329060ff1681565b6040519015158152602001610265565b6102286103503660046120f9565b6110d6565b610278600a81565b61022861036b36600461207e565b611181565b61022861037e366004612002565b611417565b6102286103913660046121b9565b611554565b610228611708565b6102517f000000000000000000000000000000000000000000000000000000000000000081565b610278605a81565b600154610278565b6103fc6103e3366004612002565b6002602052600090815260409020805460019091015482565b60408051928352602083019190915201610265565b61022861041f366004612002565b6118ee565b61027860005481565b60055460ff16610332565b610228610446366004612225565b611a39565b61027860015481565b610467610462366004612002565b611b55565b604080519384526020840192909252151590820152606001610265565b600054610278565b600354610278565b6102286104a2366004612002565b611ba2565b61027860035481565b6102286104be36600461224f565b611d00565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461050c57604051635fc483c560e01b815260040160405180910390fd5b60055460ff1615610530576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b0381166105575760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b03811660008181526006602052604080822091909155517fb6ddac613582447a8fcbbe869621560344bdbe26d6fea183b1e155cd223d864d906105a5906064815260200190565b60405180910390a250565b6001600160a01b0381166000908152600660205260408120546105d49060646122ff565b92915050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461062357604051635fc483c560e01b815260040160405180910390fd5b600454600103610646576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560035460000361066e5760405163493c1ab760e01b815260040160405180910390fd5b6003805460009182905560405163a9059cbb60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018390529192917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af115801561070a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072e9190612312565b90508061074e576040516312171d8360e31b815260040160405180910390fd5b6040518281527f81521279371b94892737e5e06851c322303c72e5493db1453314ea08f55cb9379060200160405180910390a150506000600455565b6004546001036107ad576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff16156107d6576040516306d39fcd60e41b815260040160405180910390fd5b81156108c05760006107ea33600054611e9f565b905060008111801561088c57506040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906108479033903090869060040161232f565b6020604051808303816000875af1158015610866573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088a9190612312565b155b156108aa57604051634aa23e8f60e11b815260040160405180910390fd5b80156108ba576108ba8682611ee0565b506109c3565b60006108ce33600054611e9f565b9050600060646108df600a84612353565b6108e9919061236a565b905060008111801561098b57506040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906109469033903090869060040161232f565b6020604051808303816000875af1158015610965573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109899190612312565b155b156109a957604051634aa23e8f60e11b815260040160405180910390fd5b80600360008282546109bb919061238c565b909155505050505b83836040516109d392919061239f565b6040805191829003822084151583528315156020840152916001600160a01b0388169133917f6c92a5c8a1b6c49076a075d1a499458f543fd2588ea971574373865f817ce83d91015b60405180910390a450506000600455505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a7957604051635fc483c560e01b815260040160405180910390fd5b60055460ff16610a9c5760405163dcdde9dd60e01b815260040160405180910390fd5b6005805460ff191690556040517f0e5e3b3fb504c22cf5c42fa07d521225937514c654007e1f12646f89768d6f9490600090a1565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b1a57604051635fc483c560e01b815260040160405180910390fd5b60055460ff16610b3d5760405163dcdde9dd60e01b815260040160405180910390fd5b6005805460ff191690556040517f15de7ad89d29fd1c6d2e6b1e878453569b4080edf34e0105faaa3bd52f01853090600090a1565b600454600103610b95576040516345f5ce8b60e11b815260040160405180910390fd5b60016004553360009081526002602052604081208054909103610bcb5760405163493c1ab760e01b815260040160405180910390fd5b624f1a008160010154610bde919061238c565b421115610bfe5760405163493c1ab760e01b815260040160405180910390fd5b805460008083556001830181905560405163a9059cbb60e01b8152336004820152602481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb906044016020604051808303816000875af1158015610c79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9d9190612312565b905080610cbd576040516312171d8360e31b815260040160405180910390fd5b60405182815233907f6673747791df7fe01578fcaebe4082d6d7680f052dbdd7d2cf345f88121be421906020015b60405180910390a25050600060045550565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610d4657604051635fc483c560e01b815260040160405180910390fd5b60055460ff1615610d6a576040516306d39fcd60e41b815260040160405180910390fd5b600180549082905560408051828152602081018490527f83b05743f1284b2faed08b3f927951e6663e5277e09a40c939f0dfe5075af77891015b60405180910390a15050565b600454600103610dd3576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff1615610dfc576040516306d39fcd60e41b815260040160405180910390fd5b8115610ee6576000610e1033600054611e9f565b9050600081118015610eb257506040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd90610e6d9033903090869060040161232f565b6020604051808303816000875af1158015610e8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb09190612312565b155b15610ed057604051634aa23e8f60e11b815260040160405180910390fd5b8015610ee057610ee08882611ee0565b50610fe9565b6000610ef433600054611e9f565b905060006064610f05600a84612353565b610f0f919061236a565b9050600081118015610fb157506040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd90610f6c9033903090869060040161232f565b6020604051808303816000875af1158015610f8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610faf9190612312565b155b15610fcf57604051634aa23e8f60e11b815260040160405180910390fd5b8060036000828254610fe1919061238c565b909155505050505b866001600160a01b0316336001600160a01b03167f4576724219bca1c695ff280c4eba3f012c99252acd6c7d90c0407f63f8e6ad26888888888888604051611036969594939291906123d8565b60405180910390a3505060006004555050505050565b60045460010361106f576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff1615611098576040516306d39fcd60e41b815260040160405180910390fd5b6040516000906001600160a01b038316907f39e3ace752997a751bda5ecf126da84d0d23d5e61f3f56f26a6b22990d7beed8908390a3506000600455565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461111f57604051635fc483c560e01b815260040160405180910390fd5b60055460ff1615611143576040516306d39fcd60e41b815260040160405180910390fd5b600080549082905560408051828152602081018490527f528d9479e9f9889a87a3c30c7f7ba537e5e59c4c85a37733b16e57c62df613029101610da4565b6004546001036111a4576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff16156111cd576040516306d39fcd60e41b815260040160405180910390fd5b81156112b75760006111e133600054611e9f565b905060008111801561128357506040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd9061123e9033903090869060040161232f565b6020604051808303816000875af115801561125d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112819190612312565b155b156112a157604051634aa23e8f60e11b815260040160405180910390fd5b80156112b1576112b18682611ee0565b506113ba565b60006112c533600054611e9f565b9050600060646112d6600a84612353565b6112e0919061236a565b905060008111801561138257506040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd9061133d9033903090869060040161232f565b6020604051808303816000875af115801561135c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113809190612312565b155b156113a057604051634aa23e8f60e11b815260040160405180910390fd5b80600360008282546113b2919061238c565b909155505050505b83836040516113ca92919061239f565b6040805191829003822084151583528315156020840152916001600160a01b0388169133917f6a00347d56e88979c493ca2baa527a6cd1009b34431c4ef1021a5c0edd7856259101610a1c565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461146057604051635fc483c560e01b815260040160405180910390fd5b600454600103611483576040516345f5ce8b60e11b815260040160405180910390fd5b60016004556001600160a01b038116600090815260026020526040812080549091036114c25760405163493c1ab760e01b815260040160405180910390fd5b624f1a0081600101546114d5919061238c565b42116114f4576040516326f6703f60e11b815260040160405180910390fd5b80546000808355600183018190556003805483929061151490849061238c565b90915550506040518181526001600160a01b038416907fb4572b7f0782a4b7672a2341d00e4f1a0af99d81a3f8e959f25ff679eb31448190602001610ceb565b600454600103611577576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff16156115a0576040516306d39fcd60e41b815260040160405180910390fd5b60006115ae33600054611e9f565b9050600060646115bf600a84612353565b6115c9919061236a565b905060008111801561166b57506040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd906116269033903090869060040161232f565b6020604051808303816000875af1158015611645573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116699190612312565b155b1561168957604051634aa23e8f60e11b815260040160405180910390fd5b806003600082825461169b919061238c565b90915550506040516116b0908590859061239f565b6040518091039020336001600160a01b03167ffadda1f12158473f0f6a95450c4108a36fc8aa62f3dee6a9de94c8c59947044388886040516116f392919061241a565b60405180910390a35050600060045550505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461175157604051635fc483c560e01b815260040160405180910390fd5b60055460ff1615611775576040516306d39fcd60e41b815260040160405180910390fd5b6005805460ff19166001179055600354156118c3576003805460009182905560405163a9059cbb60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018390529192917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af1158015611826573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061184a9190612312565b905080156118ba577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167f26536799ace2c3dbe12e638ec3ade6b4173dcf1289be0a58d51a5003015649bd836040516118ad91815260200190565b60405180910390a26118c0565b60038290555b50505b6040517fab35696f06e428ebc5ceba8cd17f8fed287baf43440206d1943af1ee53e6d26790600090a1565b600454600103611911576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff161561193a576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b038116156119fb576001546040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916323b872dd9161199b91339130919060040161232f565b6020604051808303816000875af11580156119ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119de9190612312565b6119fb57604051634aa23e8f60e11b815260040160405180910390fd5b6040516001600160a01b0382169033907f39e3ace752997a751bda5ecf126da84d0d23d5e61f3f56f26a6b22990d7beed890600090a3506000600455565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611a8257604051635fc483c560e01b815260040160405180910390fd5b60055460ff1615611aa6576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b038216611acd5760405163e6c4247b60e01b815260040160405180910390fd5b6064811115611aef57604051631f3b85d360e01b815260040160405180910390fd5b611afa8160646122ff565b6001600160a01b038316600081815260066020526040908190209290925590517fb6ddac613582447a8fcbbe869621560344bdbe26d6fea183b1e155cd223d864d90611b499084815260200190565b60405180910390a25050565b6001600160a01b0381166000908152600260205260408120805460018201549092918291611b8790624f1a009061238c565b815490935015801590611b9957508242115b93959294505050565b60055460ff16611bc55760405163dcdde9dd60e01b815260040160405180910390fd5b6001600160a01b03811660009081526002602052604081208054909103611bff5760405163493c1ab760e01b815260040160405180910390fd5b805460008083556001830181905560405163a9059cbb60e01b81526001600160a01b038581166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af1158015611c7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ca09190612312565b90508015611cf057836001600160a01b03167f26536799ace2c3dbe12e638ec3ade6b4173dcf1289be0a58d51a5003015649bd83604051611ce391815260200190565b60405180910390a2611cfa565b8183554260018401555b50505050565b600454600103611d23576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff1615611d4c576040516306d39fcd60e41b815260040160405180910390fd5b6000611d5a33600054611e9f565b905060006064611d6b600a84612353565b611d75919061236a565b9050600081118015611e1757506040516323b872dd60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906323b872dd90611dd29033903090869060040161232f565b6020604051808303816000875af1158015611df1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e159190612312565b155b15611e3557604051634aa23e8f60e11b815260040160405180910390fd5b8060036000828254611e47919061238c565b909155505060405133907fe137336c26280396075fb19ebe313eb4c539c2d845386ad035d8dee029bba31390611e88908b908b908b908b908b908b9061242e565b60405180910390a250506000600455505050505050565b6001600160a01b0382166000908152600660205260408120546064611ec482826122ff565b611ece9085612353565b611ed8919061236a565b949350505050565b611eed605a60001961236a565b811115611f0d57604051634eab2ea760e11b815260040160405180910390fd5b60006064611f1c600a84612353565b611f26919061236a565b90506000611f3482846122ff565b6001600160a01b038516600090815260026020526040812080549293508392909190611f6190849061238c565b90915550506001600160a01b03841660009081526002602052604081204260019091015560038054849290611f9790849061238c565b909155505060408051828152602081018490526001600160a01b038616917fad83ccf4aebaf9db0cc5658b24e378a4a865a51b863e0289e3ee0e4947d97b1c910160405180910390a250505050565b80356001600160a01b0381168114611ffd57600080fd5b919050565b60006020828403121561201457600080fd5b61201d82611fe6565b9392505050565b60008083601f84011261203657600080fd5b50813567ffffffffffffffff81111561204e57600080fd5b60208301915083602082850101111561206657600080fd5b9250929050565b801515811461207b57600080fd5b50565b60008060008060006080868803121561209657600080fd5b61209f86611fe6565b9450602086013567ffffffffffffffff8111156120bb57600080fd5b6120c788828901612024565b90955093505060408601356120db8161206d565b915060608601356120eb8161206d565b809150509295509295909350565b60006020828403121561210b57600080fd5b5035919050565b600080600080600080600060a0888a03121561212d57600080fd5b61213688611fe6565b9650602088013567ffffffffffffffff8082111561215357600080fd5b61215f8b838c01612024565b909850965060408a013591508082111561217857600080fd5b506121858a828b01612024565b90955093505060608801356121998161206d565b915060808801356121a98161206d565b8091505092959891949750929550565b600080600080604085870312156121cf57600080fd5b843567ffffffffffffffff808211156121e757600080fd5b6121f388838901612024565b9096509450602087013591508082111561220c57600080fd5b5061221987828801612024565b95989497509550505050565b6000806040838503121561223857600080fd5b61224183611fe6565b946020939093013593505050565b6000806000806000806060878903121561226857600080fd5b863567ffffffffffffffff8082111561228057600080fd5b61228c8a838b01612024565b909850965060208901359150808211156122a557600080fd5b6122b18a838b01612024565b909650945060408901359150808211156122ca57600080fd5b506122d789828a01612024565b979a9699509497509295939492505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156105d4576105d46122e9565b60006020828403121561232457600080fd5b815161201d8161206d565b6001600160a01b039384168152919092166020820152604081019190915260600190565b80820281158282048414176105d4576105d46122e9565b60008261238757634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156105d4576105d46122e9565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6080815260006123ec60808301888a6123af565b82810360208401526123ff8187896123af565b94151560408401525050901515606090910152949350505050565b602081526000611ed86020830184866123af565b60608152600061244260608301888a6123af565b82810360208401526124558187896123af565b9050828103604084015261246a8185876123af565b999850505050505050505056fea2646970667358221220e1c37eda8c3c1cf54d351525c6b53f37f7736c919be2d1f2bf9a09fbbb29c2cb64736f6c63430008180033";
1108
+ "0x60c0604052620186a0600055629896806001553480156200001f57600080fd5b5060405162002251380380620022518339810160408190526200004291620000b4565b6001600160a01b03821615806200006057506001600160a01b038116155b156200007f5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b039182166080521660a052620000ec565b80516001600160a01b0381168114620000af57600080fd5b919050565b60008060408385031215620000c857600080fd5b620000d38362000097565b9150620000e36020840162000097565b90509250929050565b60805160a0516120c162000190600039600081816103df01528181610543015281816107d30152818161087d0152818161098301528181610a2401528181610c5001528181610e4801528181610ef301528181611030015281816110c80152818161117101526114e2015260008181610250015281816108af01528181610b70015281816110fa0152818161134a015281816117ff015261198901526120c16000f3fe608060405234801561001057600080fd5b50600436106102315760003560e01c80638456cb5911610130578063b85a35d2116100b8578063d15786871161007c578063d1578687146104ee578063dbb24ff5146104f6578063e074bb4714610509578063ebf77de01461051c578063f2292f091461052f57600080fd5b8063b85a35d214610487578063bbb2fe7c1461049a578063c5f0a58f146104ad578063cd564ccd146104b6578063ced72f87146104e657600080fd5b80639ded51dd116100ff5780639ded51dd1461041c578063a3a336bf14610424578063ac637c7a14610460578063ae39279f14610473578063b187bd261461047c57600080fd5b80638456cb59146103d25780638da5cb5b146103da5780638db3c5fd14610401578063931e02381461040957600080fd5b80633ff5aecd116101be578063585450141161018257806358545014146103845780635c975abb1461039757806369fe0e2d146103a45780636a1c6e78146103b7578063720e586f146103bf57600080fd5b80633ff5aecd1461032e5780634a4e3bd51461034e5780634b0b1b8b1461035657806355bfc81c1461035e578063573321bb1461037157600080fd5b806327fe3a031161020557806327fe3a03146102e5578063285298af146102f85780632fad573e1461030b578063358cbf0a1461031e5780633f4ba83a1461032657600080fd5b80620270a41461023657806311eac8551461024b5780631f9838b51461028f57806321241dfe146102cd575b600080fd5b610249610244366004611bc0565b610538565b005b6102727f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6102bd61029d366004611be2565b600760209081526000928352604080842090915290825290205460ff1681565b6040519015158152602001610286565b6102d7624f1a0081565b604051908152602001610286565b6102496102f3366004611c6f565b610625565b6102d7610306366004611bc0565b6106ea565b610249610319366004611c6f565b610714565b6102496107c8565b610249610978565b6102d761033c366004611bc0565b60066020526000908152604090205481565b610249610a19565b610249610aba565b61024961036c366004611cfa565b610c45565b61024961037f366004611d13565b610cf8565b610249610392366004611bc0565b610db3565b6005546102bd9060ff1681565b6102496103b2366004611cfa565b610e3d565b6102d7600a81565b6102496103cd366004611bc0565b610ee8565b610249611025565b6102727f000000000000000000000000000000000000000000000000000000000000000081565b6102d7605a81565b610249610417366004611dcb565b61120b565b6001546102d7565b61044b610432366004611bc0565b6002602052600090815260409020805460019091015482565b60408051928352602083019190915201610286565b61024961046e366004611bc0565b6112ca565b6102d760005481565b60055460ff166102bd565b610249610495366004611bc0565b611433565b6102496104a8366004611e4c565b6114d7565b6102d760015481565b6104c96104c4366004611bc0565b6115f3565b604080519384526020840192909252151590820152606001610286565b6000546102d7565b6003546102d7565b610249610504366004611e76565b611640565b610249610517366004611bc0565b6116f1565b61024961052a366004611bc0565b61176e565b6102d760035481565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461058157604051635fc483c560e01b815260040160405180910390fd5b60055460ff16156105a5576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b0381166105cc5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b03811660008181526006602052604080822091909155517fb6ddac613582447a8fcbbe869621560344bdbe26d6fea183b1e155cd223d864d9061061a906064815260200190565b60405180910390a250565b600454600103610648576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff1615610671576040516306d39fcd60e41b815260040160405180910390fd5b61067c8387846118cc565b848460405161068c929190611f21565b6040805191829003822084151583528315156020840152916001600160a01b0389169133917f6c92a5c8a1b6c49076a075d1a499458f543fd2588ea971574373865f817ce83d91015b60405180910390a45050600060045550505050565b6001600160a01b03811660009081526006602052604081205461070e906064611f47565b92915050565b600454600103610737576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff1615610760576040516306d39fcd60e41b815260040160405180910390fd5b61076b8387846118cc565b848460405161077b929190611f21565b6040805191829003822084151583528315156020840152916001600160a01b0389169133917f6a00347d56e88979c493ca2baa527a6cd1009b34431c4ef1021a5c0edd78562591016106d5565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461081157604051635fc483c560e01b815260040160405180910390fd5b600454600103610834576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560035460000361085c5760405163493c1ab760e01b815260040160405180910390fd5b6003805460009182905560405163a9059cbb60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018390529192917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af11580156108f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091c9190611f5a565b90508061093c576040516312171d8360e31b815260040160405180910390fd5b6040518281527f81521279371b94892737e5e06851c322303c72e5493db1453314ea08f55cb9379060200160405180910390a150506000600455565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109c157604051635fc483c560e01b815260040160405180910390fd5b60055460ff166109e45760405163dcdde9dd60e01b815260040160405180910390fd5b6005805460ff191690556040517f0e5e3b3fb504c22cf5c42fa07d521225937514c654007e1f12646f89768d6f9490600090a1565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a6257604051635fc483c560e01b815260040160405180910390fd5b60055460ff16610a855760405163dcdde9dd60e01b815260040160405180910390fd5b6005805460ff191690556040517f15de7ad89d29fd1c6d2e6b1e878453569b4080edf34e0105faaa3bd52f01853090600090a1565b600454600103610add576040516345f5ce8b60e11b815260040160405180910390fd5b60016004553360009081526002602052604081208054909103610b135760405163493c1ab760e01b815260040160405180910390fd5b624f1a008160010154610b269190611f77565b421115610b465760405163493c1ab760e01b815260040160405180910390fd5b805460008083556001830181905560405163a9059cbb60e01b8152336004820152602481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb906044016020604051808303816000875af1158015610bc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be59190611f5a565b905080610c05576040516312171d8360e31b815260040160405180910390fd5b60405182815233907f6673747791df7fe01578fcaebe4082d6d7680f052dbdd7d2cf345f88121be421906020015b60405180910390a25050600060045550565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c8e57604051635fc483c560e01b815260040160405180910390fd5b60055460ff1615610cb2576040516306d39fcd60e41b815260040160405180910390fd5b600180549082905560408051828152602081018490527f83b05743f1284b2faed08b3f927951e6663e5277e09a40c939f0dfe5075af77891015b60405180910390a15050565b600454600103610d1b576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff1615610d44576040516306d39fcd60e41b815260040160405180910390fd5b610d4f8389846118cc565b876001600160a01b0316336001600160a01b03167f4576724219bca1c695ff280c4eba3f012c99252acd6c7d90c0407f63f8e6ad26898989898888604051610d9c96959493929190611fb3565b60405180910390a350506000600455505050505050565b600454600103610dd6576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff1615610dff576040516306d39fcd60e41b815260040160405180910390fd5b6040516000906001600160a01b038316907f39e3ace752997a751bda5ecf126da84d0d23d5e61f3f56f26a6b22990d7beed8908390a3506000600455565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610e8657604051635fc483c560e01b815260040160405180910390fd5b60055460ff1615610eaa576040516306d39fcd60e41b815260040160405180910390fd5b600080549082905560408051828152602081018490527f528d9479e9f9889a87a3c30c7f7ba537e5e59c4c85a37733b16e57c62df613029101610cec565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f3157604051635fc483c560e01b815260040160405180910390fd5b600454600103610f54576040516345f5ce8b60e11b815260040160405180910390fd5b60016004556001600160a01b03811660009081526002602052604081208054909103610f935760405163493c1ab760e01b815260040160405180910390fd5b624f1a008160010154610fa69190611f77565b4211610fc5576040516326f6703f60e11b815260040160405180910390fd5b805460008083556001830181905560038054839290610fe5908490611f77565b90915550506040518181526001600160a01b038416907fb4572b7f0782a4b7672a2341d00e4f1a0af99d81a3f8e959f25ff679eb31448190602001610c33565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461106e57604051635fc483c560e01b815260040160405180910390fd5b60055460ff1615611092576040516306d39fcd60e41b815260040160405180910390fd5b6005805460ff19166001179055600354156111e0576003805460009182905560405163a9059cbb60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018390529192917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af1158015611143573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111679190611f5a565b905080156111d7577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167f26536799ace2c3dbe12e638ec3ade6b4173dcf1289be0a58d51a5003015649bd836040516111ca91815260200190565b60405180910390a26111dd565b60038290555b50505b6040517fab35696f06e428ebc5ceba8cd17f8fed287baf43440206d1943af1ee53e6d26790600090a1565b60045460010361122e576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff1615611257576040516306d39fcd60e41b815260040160405180910390fd5b611263816000806118cc565b8282604051611273929190611f21565b6040518091039020336001600160a01b03167ffadda1f12158473f0f6a95450c4108a36fc8aa62f3dee6a9de94c8c59947044387876040516112b6929190611ff5565b60405180910390a350506000600455505050565b6004546001036112ed576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff1615611316576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b038116156113f5576001546040516323b872dd60e01b8152336004820152306024820152604481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303816000875af115801561139b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113bf9190611f5a565b6113dc57604051634aa23e8f60e11b815260040160405180910390fd5b80600360008282546113ee9190611f77565b9091555050505b6040516001600160a01b0382169033907f39e3ace752997a751bda5ecf126da84d0d23d5e61f3f56f26a6b22990d7beed890600090a3506000600455565b60055460ff1615611457576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b03811661147e5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0381166000818152600760209081526040808320338085529252808320805460ff19166001179055519092917f0ceda602a8e00ef76afe24614343eb6c034877c816b6184d641d2d8b713a0fc691a350565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461152057604051635fc483c560e01b815260040160405180910390fd5b60055460ff1615611544576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b03821661156b5760405163e6c4247b60e01b815260040160405180910390fd5b606481111561158d57604051631f3b85d360e01b815260040160405180910390fd5b611598816064611f47565b6001600160a01b038316600081815260066020526040908190209290925590517fb6ddac613582447a8fcbbe869621560344bdbe26d6fea183b1e155cd223d864d906115e79084815260200190565b60405180910390a25050565b6001600160a01b038116600090815260026020526040812080546001820154909291829161162590624f1a0090611f77565b81549093501580159061163757508242115b93959294505050565b600454600103611663576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff161561168c576040516306d39fcd60e41b815260040160405180910390fd5b611698816000806118cc565b336001600160a01b03167fe137336c26280396075fb19ebe313eb4c539c2d845386ad035d8dee029bba3138888888888886040516116db96959493929190612009565b60405180910390a2505060006004555050505050565b6001600160a01b0381166117185760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0381166000818152600760209081526040808320338085529252808320805460ff19169055519092917f5f708ef9fc37d19d88246c264788c8cdf640c9ff500bd168e941ea1421c4f6c491a350565b60055460ff166117915760405163dcdde9dd60e01b815260040160405180910390fd5b6001600160a01b038116600090815260026020526040812080549091036117cb5760405163493c1ab760e01b815260040160405180910390fd5b805460008083556001830181905560405163a9059cbb60e01b81526001600160a01b038581166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af1158015611848573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061186c9190611f5a565b905080156118bc57836001600160a01b03167f26536799ace2c3dbe12e638ec3ade6b4173dcf1289be0a58d51a5003015649bd836040516118af91815260200190565b60405180910390a26118c6565b8183554260018401555b50505050565b336001600160a01b0384161480159061190957503360009081526007602090815260408083206001600160a01b038716845290915290205460ff16155b156119275760405163184d62c560e01b815260040160405180910390fd5b600061193584600054611a5d565b9050806000036119455750505050565b600082611958576064600a83020461195a565b815b6040516323b872dd60e01b81526001600160a01b038781166004830152306024830152604482018390529192507f0000000000000000000000000000000000000000000000000000000000000000909116906323b872dd906064016020604051808303816000875af11580156119d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119f89190611f5a565b611a1557604051634aa23e8f60e11b815260040160405180910390fd5b828015611a2a57506001600160a01b03841615155b15611a3e57611a398483611a9e565b611a56565b8060036000828254611a509190611f77565b90915550505b5050505050565b6001600160a01b0382166000908152600660205260408120546064611a828282611f47565b611a8c9085612052565b611a969190612069565b949350505050565b611aab605a600019612069565b811115611acb57604051634eab2ea760e11b815260040160405180910390fd5b60006064611ada600a84612052565b611ae49190612069565b90506000611af28284611f47565b6001600160a01b038516600090815260026020526040812080549293508392909190611b1f908490611f77565b90915550506001600160a01b03841660009081526002602052604081204260019091015560038054849290611b55908490611f77565b909155505060408051828152602081018490526001600160a01b038616917fad83ccf4aebaf9db0cc5658b24e378a4a865a51b863e0289e3ee0e4947d97b1c910160405180910390a250505050565b80356001600160a01b0381168114611bbb57600080fd5b919050565b600060208284031215611bd257600080fd5b611bdb82611ba4565b9392505050565b60008060408385031215611bf557600080fd5b611bfe83611ba4565b9150611c0c60208401611ba4565b90509250929050565b60008083601f840112611c2757600080fd5b50813567ffffffffffffffff811115611c3f57600080fd5b602083019150836020828501011115611c5757600080fd5b9250929050565b8015158114611c6c57600080fd5b50565b60008060008060008060a08789031215611c8857600080fd5b611c9187611ba4565b9550602087013567ffffffffffffffff811115611cad57600080fd5b611cb989828a01611c15565b9096509450611ccc905060408801611ba4565b92506060870135611cdc81611c5e565b91506080870135611cec81611c5e565b809150509295509295509295565b600060208284031215611d0c57600080fd5b5035919050565b60008060008060008060008060c0898b031215611d2f57600080fd5b611d3889611ba4565b9750602089013567ffffffffffffffff80821115611d5557600080fd5b611d618c838d01611c15565b909950975060408b0135915080821115611d7a57600080fd5b50611d878b828c01611c15565b9096509450611d9a905060608a01611ba4565b92506080890135611daa81611c5e565b915060a0890135611dba81611c5e565b809150509295985092959890939650565b600080600080600060608688031215611de357600080fd5b853567ffffffffffffffff80821115611dfb57600080fd5b611e0789838a01611c15565b90975095506020880135915080821115611e2057600080fd5b50611e2d88828901611c15565b9094509250611e40905060408701611ba4565b90509295509295909350565b60008060408385031215611e5f57600080fd5b611e6883611ba4565b946020939093013593505050565b60008060008060008060006080888a031215611e9157600080fd5b873567ffffffffffffffff80821115611ea957600080fd5b611eb58b838c01611c15565b909950975060208a0135915080821115611ece57600080fd5b611eda8b838c01611c15565b909750955060408a0135915080821115611ef357600080fd5b50611f008a828b01611c15565b9094509250611f13905060608901611ba4565b905092959891949750929550565b8183823760009101908152919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561070e5761070e611f31565b600060208284031215611f6c57600080fd5b8151611bdb81611c5e565b8082018082111561070e5761070e611f31565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b608081526000611fc760808301888a611f8a565b8281036020840152611fda818789611f8a565b94151560408401525050901515606090910152949350505050565b602081526000611a96602083018486611f8a565b60608152600061201d60608301888a611f8a565b8281036020840152612030818789611f8a565b90508281036040840152612045818587611f8a565b9998505050505050505050565b808202811582820484141761070e5761070e611f31565b60008261208657634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220bdb7b8067400d75405ab1fb3f11f89738859958485c40e306e1acf1686f2ff8364736f6c63430008180033";
991
1109
 
992
1110
  type MailerConstructorParams =
993
1111
  | [signer?: Signer]