@requestnetwork/smart-contracts 0.53.1-next.ba2344ff.0 → 0.54.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. package/README.md +1 -1
  2. package/dist/scripts-create2/compute-one-address.d.ts.map +1 -1
  3. package/dist/scripts-create2/compute-one-address.js +4 -0
  4. package/dist/scripts-create2/compute-one-address.js.map +1 -1
  5. package/dist/scripts-create2/constructor-args.d.ts.map +1 -1
  6. package/dist/scripts-create2/constructor-args.js +9 -1
  7. package/dist/scripts-create2/constructor-args.js.map +1 -1
  8. package/dist/scripts-create2/deploy.d.ts +4 -1
  9. package/dist/scripts-create2/deploy.d.ts.map +1 -1
  10. package/dist/scripts-create2/deploy.js +11 -4
  11. package/dist/scripts-create2/deploy.js.map +1 -1
  12. package/dist/scripts-create2/verify.d.ts.map +1 -1
  13. package/dist/scripts-create2/verify.js +5 -2
  14. package/dist/scripts-create2/verify.js.map +1 -1
  15. package/dist/scripts-create2/xdeployer.d.ts.map +1 -1
  16. package/dist/scripts-create2/xdeployer.js +11 -1
  17. package/dist/scripts-create2/xdeployer.js.map +1 -1
  18. package/dist/src/lib/artifacts/BatchConversionPayments/0.2.0.json +766 -0
  19. package/dist/src/lib/artifacts/BatchConversionPayments/index.d.ts.map +1 -1
  20. package/dist/src/lib/artifacts/BatchConversionPayments/index.js +10 -0
  21. package/dist/src/lib/artifacts/BatchConversionPayments/index.js.map +1 -1
  22. package/dist/src/lib/artifacts/ERC20RecurringPaymentProxy/0.2.0.json +533 -0
  23. package/dist/src/lib/artifacts/ERC20RecurringPaymentProxy/index.d.ts +2 -2
  24. package/dist/src/lib/artifacts/ERC20RecurringPaymentProxy/index.d.ts.map +1 -1
  25. package/dist/src/lib/artifacts/ERC20RecurringPaymentProxy/index.js +35 -1
  26. package/dist/src/lib/artifacts/ERC20RecurringPaymentProxy/index.js.map +1 -1
  27. package/dist/src/types/@openzeppelin/contracts/interfaces/IERC1271.d.ts +45 -0
  28. package/dist/src/types/@openzeppelin/contracts/interfaces/IERC1271.d.ts.map +1 -0
  29. package/dist/src/types/@openzeppelin/contracts/interfaces/IERC1271.js +3 -0
  30. package/dist/src/types/@openzeppelin/contracts/interfaces/IERC1271.js.map +1 -0
  31. package/dist/src/types/@openzeppelin/contracts/interfaces/index.d.ts +1 -0
  32. package/dist/src/types/@openzeppelin/contracts/interfaces/index.d.ts.map +1 -1
  33. package/dist/src/types/factories/@openzeppelin/contracts/interfaces/IERC1271__factory.d.ts +27 -0
  34. package/dist/src/types/factories/@openzeppelin/contracts/interfaces/IERC1271__factory.d.ts.map +1 -0
  35. package/dist/src/types/factories/@openzeppelin/contracts/interfaces/IERC1271__factory.js +44 -0
  36. package/dist/src/types/factories/@openzeppelin/contracts/interfaces/IERC1271__factory.js.map +1 -0
  37. package/dist/src/types/factories/@openzeppelin/contracts/interfaces/index.d.ts +1 -0
  38. package/dist/src/types/factories/@openzeppelin/contracts/interfaces/index.d.ts.map +1 -1
  39. package/dist/src/types/factories/@openzeppelin/contracts/interfaces/index.js +3 -1
  40. package/dist/src/types/factories/@openzeppelin/contracts/interfaces/index.js.map +1 -1
  41. package/dist/src/types/factories/src/contracts/BatchConversionPayments__factory.d.ts +15 -1
  42. package/dist/src/types/factories/src/contracts/BatchConversionPayments__factory.d.ts.map +1 -1
  43. package/dist/src/types/factories/src/contracts/BatchConversionPayments__factory.js +19 -1
  44. package/dist/src/types/factories/src/contracts/BatchConversionPayments__factory.js.map +1 -1
  45. package/dist/src/types/factories/src/contracts/BatchNoConversionPayments__factory.d.ts +15 -1
  46. package/dist/src/types/factories/src/contracts/BatchNoConversionPayments__factory.d.ts.map +1 -1
  47. package/dist/src/types/factories/src/contracts/BatchNoConversionPayments__factory.js +19 -1
  48. package/dist/src/types/factories/src/contracts/BatchNoConversionPayments__factory.js.map +1 -1
  49. package/dist/src/types/factories/src/contracts/ERC20RecurringPaymentProxy__factory.d.ts +559 -72
  50. package/dist/src/types/factories/src/contracts/ERC20RecurringPaymentProxy__factory.d.ts.map +1 -1
  51. package/dist/src/types/factories/src/contracts/ERC20RecurringPaymentProxy__factory.js +707 -80
  52. package/dist/src/types/factories/src/contracts/ERC20RecurringPaymentProxy__factory.js.map +1 -1
  53. package/dist/src/types/factories/src/contracts/test/ERC20PullTestTokens.sol/ERC20BlockRecipient__factory.d.ts +255 -0
  54. package/dist/src/types/factories/src/contracts/test/ERC20PullTestTokens.sol/ERC20BlockRecipient__factory.d.ts.map +1 -0
  55. package/dist/src/types/factories/src/contracts/test/ERC20PullTestTokens.sol/ERC20BlockRecipient__factory.js +350 -0
  56. package/dist/src/types/factories/src/contracts/test/ERC20PullTestTokens.sol/ERC20BlockRecipient__factory.js.map +1 -0
  57. package/dist/src/types/factories/src/contracts/test/ERC20PullTestTokens.sol/ERC20FailTransfer__factory.d.ts +235 -0
  58. package/dist/src/types/factories/src/contracts/test/ERC20PullTestTokens.sol/ERC20FailTransfer__factory.d.ts.map +1 -0
  59. package/dist/src/types/factories/src/contracts/test/ERC20PullTestTokens.sol/ERC20FailTransfer__factory.js +324 -0
  60. package/dist/src/types/factories/src/contracts/test/ERC20PullTestTokens.sol/ERC20FailTransfer__factory.js.map +1 -0
  61. package/dist/src/types/factories/src/contracts/test/ERC20PullTestTokens.sol/ERC20FeeOnTransfer__factory.d.ts +235 -0
  62. package/dist/src/types/factories/src/contracts/test/ERC20PullTestTokens.sol/ERC20FeeOnTransfer__factory.d.ts.map +1 -0
  63. package/dist/src/types/factories/src/contracts/test/ERC20PullTestTokens.sol/ERC20FeeOnTransfer__factory.js +324 -0
  64. package/dist/src/types/factories/src/contracts/test/ERC20PullTestTokens.sol/ERC20FeeOnTransfer__factory.js.map +1 -0
  65. package/dist/src/types/factories/src/contracts/test/ERC20PullTestTokens.sol/ERC20SilentFail__factory.d.ts +235 -0
  66. package/dist/src/types/factories/src/contracts/test/ERC20PullTestTokens.sol/ERC20SilentFail__factory.d.ts.map +1 -0
  67. package/dist/src/types/factories/src/contracts/test/ERC20PullTestTokens.sol/ERC20SilentFail__factory.js +324 -0
  68. package/dist/src/types/factories/src/contracts/test/ERC20PullTestTokens.sol/ERC20SilentFail__factory.js.map +1 -0
  69. package/dist/src/types/factories/src/contracts/test/ERC20PullTestTokens.sol/index.d.ts +5 -0
  70. package/dist/src/types/factories/src/contracts/test/ERC20PullTestTokens.sol/index.d.ts.map +1 -0
  71. package/dist/src/types/factories/src/contracts/test/ERC20PullTestTokens.sol/index.js +15 -0
  72. package/dist/src/types/factories/src/contracts/test/ERC20PullTestTokens.sol/index.js.map +1 -0
  73. package/dist/src/types/factories/src/contracts/test/MockERC1271__factory.d.ts +75 -0
  74. package/dist/src/types/factories/src/contracts/test/MockERC1271__factory.d.ts.map +1 -0
  75. package/dist/src/types/factories/src/contracts/test/MockERC1271__factory.js +114 -0
  76. package/dist/src/types/factories/src/contracts/test/MockERC1271__factory.js.map +1 -0
  77. package/dist/src/types/factories/src/contracts/test/index.d.ts +2 -0
  78. package/dist/src/types/factories/src/contracts/test/index.d.ts.map +1 -1
  79. package/dist/src/types/factories/src/contracts/test/index.js +4 -1
  80. package/dist/src/types/factories/src/contracts/test/index.js.map +1 -1
  81. package/dist/src/types/hardhat.d.ts +54 -0
  82. package/dist/src/types/index.d.ts +12 -0
  83. package/dist/src/types/index.d.ts.map +1 -1
  84. package/dist/src/types/index.js +14 -2
  85. package/dist/src/types/index.js.map +1 -1
  86. package/dist/src/types/src/contracts/BatchConversionPayments.d.ts +17 -1
  87. package/dist/src/types/src/contracts/BatchConversionPayments.d.ts.map +1 -1
  88. package/dist/src/types/src/contracts/BatchNoConversionPayments.d.ts +17 -1
  89. package/dist/src/types/src/contracts/BatchNoConversionPayments.d.ts.map +1 -1
  90. package/dist/src/types/src/contracts/ERC20RecurringPaymentProxy.d.ts +284 -103
  91. package/dist/src/types/src/contracts/ERC20RecurringPaymentProxy.d.ts.map +1 -1
  92. package/dist/src/types/src/contracts/test/ERC20PullTestTokens.sol/ERC20BlockRecipient.d.ts +219 -0
  93. package/dist/src/types/src/contracts/test/ERC20PullTestTokens.sol/ERC20BlockRecipient.d.ts.map +1 -0
  94. package/dist/src/types/src/contracts/test/ERC20PullTestTokens.sol/ERC20BlockRecipient.js +3 -0
  95. package/dist/src/types/src/contracts/test/ERC20PullTestTokens.sol/ERC20BlockRecipient.js.map +1 -0
  96. package/dist/src/types/src/contracts/test/ERC20PullTestTokens.sol/ERC20FailTransfer.d.ts +187 -0
  97. package/dist/src/types/src/contracts/test/ERC20PullTestTokens.sol/ERC20FailTransfer.d.ts.map +1 -0
  98. package/dist/src/types/src/contracts/test/ERC20PullTestTokens.sol/ERC20FailTransfer.js +3 -0
  99. package/dist/src/types/src/contracts/test/ERC20PullTestTokens.sol/ERC20FailTransfer.js.map +1 -0
  100. package/dist/src/types/src/contracts/test/ERC20PullTestTokens.sol/ERC20FeeOnTransfer.d.ts +195 -0
  101. package/dist/src/types/src/contracts/test/ERC20PullTestTokens.sol/ERC20FeeOnTransfer.d.ts.map +1 -0
  102. package/dist/src/types/src/contracts/test/ERC20PullTestTokens.sol/ERC20FeeOnTransfer.js +3 -0
  103. package/dist/src/types/src/contracts/test/ERC20PullTestTokens.sol/ERC20FeeOnTransfer.js.map +1 -0
  104. package/dist/src/types/src/contracts/test/ERC20PullTestTokens.sol/ERC20SilentFail.d.ts +195 -0
  105. package/dist/src/types/src/contracts/test/ERC20PullTestTokens.sol/ERC20SilentFail.d.ts.map +1 -0
  106. package/dist/src/types/src/contracts/test/ERC20PullTestTokens.sol/ERC20SilentFail.js +3 -0
  107. package/dist/src/types/src/contracts/test/ERC20PullTestTokens.sol/ERC20SilentFail.js.map +1 -0
  108. package/dist/src/types/src/contracts/test/ERC20PullTestTokens.sol/index.d.ts +5 -0
  109. package/dist/src/types/src/contracts/test/ERC20PullTestTokens.sol/index.d.ts.map +1 -0
  110. package/dist/src/types/src/contracts/test/ERC20PullTestTokens.sol/index.js +3 -0
  111. package/dist/src/types/src/contracts/test/ERC20PullTestTokens.sol/index.js.map +1 -0
  112. package/dist/src/types/src/contracts/test/MockERC1271.d.ts +67 -0
  113. package/dist/src/types/src/contracts/test/MockERC1271.d.ts.map +1 -0
  114. package/dist/src/types/src/contracts/test/MockERC1271.js +3 -0
  115. package/dist/src/types/src/contracts/test/MockERC1271.js.map +1 -0
  116. package/dist/src/types/src/contracts/test/index.d.ts +3 -0
  117. package/dist/src/types/src/contracts/test/index.d.ts.map +1 -1
  118. package/dist/tsconfig.build.tsbuildinfo +1 -1
  119. package/package.json +5 -6
  120. package/types/@openzeppelin/contracts/interfaces/IERC1271.d.ts +45 -0
  121. package/types/@openzeppelin/contracts/interfaces/IERC1271.d.ts.map +1 -0
  122. package/types/@openzeppelin/contracts/interfaces/IERC1271.js +3 -0
  123. package/types/@openzeppelin/contracts/interfaces/IERC1271.js.map +1 -0
  124. package/types/@openzeppelin/contracts/interfaces/index.d.ts +1 -0
  125. package/types/@openzeppelin/contracts/interfaces/index.d.ts.map +1 -1
  126. package/types/factories/@openzeppelin/contracts/interfaces/IERC1271__factory.d.ts +27 -0
  127. package/types/factories/@openzeppelin/contracts/interfaces/IERC1271__factory.d.ts.map +1 -0
  128. package/types/factories/@openzeppelin/contracts/interfaces/IERC1271__factory.js +44 -0
  129. package/types/factories/@openzeppelin/contracts/interfaces/IERC1271__factory.js.map +1 -0
  130. package/types/factories/@openzeppelin/contracts/interfaces/index.d.ts +1 -0
  131. package/types/factories/@openzeppelin/contracts/interfaces/index.d.ts.map +1 -1
  132. package/types/factories/@openzeppelin/contracts/interfaces/index.js +3 -1
  133. package/types/factories/@openzeppelin/contracts/interfaces/index.js.map +1 -1
  134. package/types/factories/src/contracts/BatchConversionPayments__factory.d.ts +15 -1
  135. package/types/factories/src/contracts/BatchConversionPayments__factory.d.ts.map +1 -1
  136. package/types/factories/src/contracts/BatchConversionPayments__factory.js +19 -1
  137. package/types/factories/src/contracts/BatchConversionPayments__factory.js.map +1 -1
  138. package/types/factories/src/contracts/BatchNoConversionPayments__factory.d.ts +15 -1
  139. package/types/factories/src/contracts/BatchNoConversionPayments__factory.d.ts.map +1 -1
  140. package/types/factories/src/contracts/BatchNoConversionPayments__factory.js +19 -1
  141. package/types/factories/src/contracts/BatchNoConversionPayments__factory.js.map +1 -1
  142. package/types/factories/src/contracts/ERC20RecurringPaymentProxy__factory.d.ts +559 -72
  143. package/types/factories/src/contracts/ERC20RecurringPaymentProxy__factory.d.ts.map +1 -1
  144. package/types/factories/src/contracts/ERC20RecurringPaymentProxy__factory.js +707 -80
  145. package/types/factories/src/contracts/ERC20RecurringPaymentProxy__factory.js.map +1 -1
  146. package/types/factories/src/contracts/test/ERC20PullTestTokens.sol/ERC20BlockRecipient__factory.d.ts +255 -0
  147. package/types/factories/src/contracts/test/ERC20PullTestTokens.sol/ERC20BlockRecipient__factory.d.ts.map +1 -0
  148. package/types/factories/src/contracts/test/ERC20PullTestTokens.sol/ERC20BlockRecipient__factory.js +350 -0
  149. package/types/factories/src/contracts/test/ERC20PullTestTokens.sol/ERC20BlockRecipient__factory.js.map +1 -0
  150. package/types/factories/src/contracts/test/ERC20PullTestTokens.sol/ERC20FailTransfer__factory.d.ts +235 -0
  151. package/types/factories/src/contracts/test/ERC20PullTestTokens.sol/ERC20FailTransfer__factory.d.ts.map +1 -0
  152. package/types/factories/src/contracts/test/ERC20PullTestTokens.sol/ERC20FailTransfer__factory.js +324 -0
  153. package/types/factories/src/contracts/test/ERC20PullTestTokens.sol/ERC20FailTransfer__factory.js.map +1 -0
  154. package/types/factories/src/contracts/test/ERC20PullTestTokens.sol/ERC20FeeOnTransfer__factory.d.ts +235 -0
  155. package/types/factories/src/contracts/test/ERC20PullTestTokens.sol/ERC20FeeOnTransfer__factory.d.ts.map +1 -0
  156. package/types/factories/src/contracts/test/ERC20PullTestTokens.sol/ERC20FeeOnTransfer__factory.js +324 -0
  157. package/types/factories/src/contracts/test/ERC20PullTestTokens.sol/ERC20FeeOnTransfer__factory.js.map +1 -0
  158. package/types/factories/src/contracts/test/ERC20PullTestTokens.sol/ERC20SilentFail__factory.d.ts +235 -0
  159. package/types/factories/src/contracts/test/ERC20PullTestTokens.sol/ERC20SilentFail__factory.d.ts.map +1 -0
  160. package/types/factories/src/contracts/test/ERC20PullTestTokens.sol/ERC20SilentFail__factory.js +324 -0
  161. package/types/factories/src/contracts/test/ERC20PullTestTokens.sol/ERC20SilentFail__factory.js.map +1 -0
  162. package/types/factories/src/contracts/test/ERC20PullTestTokens.sol/index.d.ts +5 -0
  163. package/types/factories/src/contracts/test/ERC20PullTestTokens.sol/index.d.ts.map +1 -0
  164. package/types/factories/src/contracts/test/ERC20PullTestTokens.sol/index.js +15 -0
  165. package/types/factories/src/contracts/test/ERC20PullTestTokens.sol/index.js.map +1 -0
  166. package/types/factories/src/contracts/test/MockERC1271__factory.d.ts +75 -0
  167. package/types/factories/src/contracts/test/MockERC1271__factory.d.ts.map +1 -0
  168. package/types/factories/src/contracts/test/MockERC1271__factory.js +114 -0
  169. package/types/factories/src/contracts/test/MockERC1271__factory.js.map +1 -0
  170. package/types/factories/src/contracts/test/index.d.ts +2 -0
  171. package/types/factories/src/contracts/test/index.d.ts.map +1 -1
  172. package/types/factories/src/contracts/test/index.js +4 -1
  173. package/types/factories/src/contracts/test/index.js.map +1 -1
  174. package/types/hardhat.d.ts +54 -0
  175. package/types/index.d.ts +12 -0
  176. package/types/index.d.ts.map +1 -1
  177. package/types/index.js +14 -2
  178. package/types/index.js.map +1 -1
  179. package/types/src/contracts/BatchConversionPayments.d.ts +17 -1
  180. package/types/src/contracts/BatchConversionPayments.d.ts.map +1 -1
  181. package/types/src/contracts/BatchNoConversionPayments.d.ts +17 -1
  182. package/types/src/contracts/BatchNoConversionPayments.d.ts.map +1 -1
  183. package/types/src/contracts/ERC20RecurringPaymentProxy.d.ts +284 -103
  184. package/types/src/contracts/ERC20RecurringPaymentProxy.d.ts.map +1 -1
  185. package/types/src/contracts/test/ERC20PullTestTokens.sol/ERC20BlockRecipient.d.ts +219 -0
  186. package/types/src/contracts/test/ERC20PullTestTokens.sol/ERC20BlockRecipient.d.ts.map +1 -0
  187. package/types/src/contracts/test/ERC20PullTestTokens.sol/ERC20BlockRecipient.js +3 -0
  188. package/types/src/contracts/test/ERC20PullTestTokens.sol/ERC20BlockRecipient.js.map +1 -0
  189. package/types/src/contracts/test/ERC20PullTestTokens.sol/ERC20FailTransfer.d.ts +187 -0
  190. package/types/src/contracts/test/ERC20PullTestTokens.sol/ERC20FailTransfer.d.ts.map +1 -0
  191. package/types/src/contracts/test/ERC20PullTestTokens.sol/ERC20FailTransfer.js +3 -0
  192. package/types/src/contracts/test/ERC20PullTestTokens.sol/ERC20FailTransfer.js.map +1 -0
  193. package/types/src/contracts/test/ERC20PullTestTokens.sol/ERC20FeeOnTransfer.d.ts +195 -0
  194. package/types/src/contracts/test/ERC20PullTestTokens.sol/ERC20FeeOnTransfer.d.ts.map +1 -0
  195. package/types/src/contracts/test/ERC20PullTestTokens.sol/ERC20FeeOnTransfer.js +3 -0
  196. package/types/src/contracts/test/ERC20PullTestTokens.sol/ERC20FeeOnTransfer.js.map +1 -0
  197. package/types/src/contracts/test/ERC20PullTestTokens.sol/ERC20SilentFail.d.ts +195 -0
  198. package/types/src/contracts/test/ERC20PullTestTokens.sol/ERC20SilentFail.d.ts.map +1 -0
  199. package/types/src/contracts/test/ERC20PullTestTokens.sol/ERC20SilentFail.js +3 -0
  200. package/types/src/contracts/test/ERC20PullTestTokens.sol/ERC20SilentFail.js.map +1 -0
  201. package/types/src/contracts/test/ERC20PullTestTokens.sol/index.d.ts +5 -0
  202. package/types/src/contracts/test/ERC20PullTestTokens.sol/index.d.ts.map +1 -0
  203. package/types/src/contracts/test/ERC20PullTestTokens.sol/index.js +3 -0
  204. package/types/src/contracts/test/ERC20PullTestTokens.sol/index.js.map +1 -0
  205. package/types/src/contracts/test/MockERC1271.d.ts +67 -0
  206. package/types/src/contracts/test/MockERC1271.d.ts.map +1 -0
  207. package/types/src/contracts/test/MockERC1271.js +3 -0
  208. package/types/src/contracts/test/MockERC1271.js.map +1 -0
  209. package/types/src/contracts/test/index.d.ts +3 -0
  210. package/types/src/contracts/test/index.d.ts.map +1 -1
@@ -37,6 +37,21 @@ const _abi = [
37
37
  name: "ERC20RecurringPaymentProxy__BadSignature",
38
38
  type: "error",
39
39
  },
40
+ {
41
+ inputs: [],
42
+ name: "ERC20RecurringPaymentProxy__Cancelled",
43
+ type: "error",
44
+ },
45
+ {
46
+ inputs: [],
47
+ name: "ERC20RecurringPaymentProxy__DuplicatePaymentReference",
48
+ type: "error",
49
+ },
50
+ {
51
+ inputs: [],
52
+ name: "ERC20RecurringPaymentProxy__EmptyLegs",
53
+ type: "error",
54
+ },
40
55
  {
41
56
  inputs: [],
42
57
  name: "ERC20RecurringPaymentProxy__IndexOutOfBounds",
@@ -44,7 +59,12 @@ const _abi = [
44
59
  },
45
60
  {
46
61
  inputs: [],
47
- name: "ERC20RecurringPaymentProxy__IndexTooLarge",
62
+ name: "ERC20RecurringPaymentProxy__InvalidDueTimes",
63
+ type: "error",
64
+ },
65
+ {
66
+ inputs: [],
67
+ name: "ERC20RecurringPaymentProxy__NotAdmitted",
48
68
  type: "error",
49
69
  },
50
70
  {
@@ -52,21 +72,61 @@ const _abi = [
52
72
  name: "ERC20RecurringPaymentProxy__NotDueYet",
53
73
  type: "error",
54
74
  },
75
+ {
76
+ inputs: [],
77
+ name: "ERC20RecurringPaymentProxy__NotRelayer",
78
+ type: "error",
79
+ },
80
+ {
81
+ inputs: [],
82
+ name: "ERC20RecurringPaymentProxy__NotSubscriber",
83
+ type: "error",
84
+ },
55
85
  {
56
86
  inputs: [],
57
87
  name: "ERC20RecurringPaymentProxy__PaymentOutOfOrder",
58
88
  type: "error",
59
89
  },
90
+ {
91
+ inputs: [],
92
+ name: "ERC20RecurringPaymentProxy__ShortPull",
93
+ type: "error",
94
+ },
60
95
  {
61
96
  inputs: [],
62
97
  name: "ERC20RecurringPaymentProxy__SignatureExpired",
63
98
  type: "error",
64
99
  },
100
+ {
101
+ inputs: [],
102
+ name: "ERC20RecurringPaymentProxy__TooManyLegs",
103
+ type: "error",
104
+ },
105
+ {
106
+ inputs: [],
107
+ name: "ERC20RecurringPaymentProxy__TransferFailed",
108
+ type: "error",
109
+ },
110
+ {
111
+ inputs: [],
112
+ name: "ERC20RecurringPaymentProxy__UnexpectedBalance",
113
+ type: "error",
114
+ },
65
115
  {
66
116
  inputs: [],
67
117
  name: "ERC20RecurringPaymentProxy__ZeroAddress",
68
118
  type: "error",
69
119
  },
120
+ {
121
+ inputs: [],
122
+ name: "ERC20RecurringPaymentProxy__ZeroAmount",
123
+ type: "error",
124
+ },
125
+ {
126
+ inputs: [],
127
+ name: "ERC20RecurringPaymentProxy__ZeroScheduleId",
128
+ type: "error",
129
+ },
70
130
  {
71
131
  inputs: [],
72
132
  name: "InvalidShortString",
@@ -83,6 +143,44 @@ const _abi = [
83
143
  name: "StringTooLong",
84
144
  type: "error",
85
145
  },
146
+ {
147
+ anonymous: false,
148
+ inputs: [
149
+ {
150
+ indexed: true,
151
+ internalType: "bytes32",
152
+ name: "scheduleKey",
153
+ type: "bytes32",
154
+ },
155
+ {
156
+ indexed: false,
157
+ internalType: "uint256",
158
+ name: "mask",
159
+ type: "uint256",
160
+ },
161
+ ],
162
+ name: "CyclesAdmitted",
163
+ type: "event",
164
+ },
165
+ {
166
+ anonymous: false,
167
+ inputs: [
168
+ {
169
+ indexed: true,
170
+ internalType: "bytes32",
171
+ name: "scheduleKey",
172
+ type: "bytes32",
173
+ },
174
+ {
175
+ indexed: false,
176
+ internalType: "uint256",
177
+ name: "mask",
178
+ type: "uint256",
179
+ },
180
+ ],
181
+ name: "CyclesRevoked",
182
+ type: "event",
183
+ },
86
184
  {
87
185
  anonymous: false,
88
186
  inputs: [],
@@ -95,17 +193,17 @@ const _abi = [
95
193
  {
96
194
  indexed: true,
97
195
  internalType: "address",
98
- name: "previousOwner",
196
+ name: "oldProxy",
99
197
  type: "address",
100
198
  },
101
199
  {
102
200
  indexed: true,
103
201
  internalType: "address",
104
- name: "newOwner",
202
+ name: "newProxy",
105
203
  type: "address",
106
204
  },
107
205
  ],
108
- name: "OwnershipTransferred",
206
+ name: "FeeProxyUpdated",
109
207
  type: "event",
110
208
  },
111
209
  {
@@ -121,6 +219,43 @@ const _abi = [
121
219
  name: "Paused",
122
220
  type: "event",
123
221
  },
222
+ {
223
+ anonymous: false,
224
+ inputs: [
225
+ {
226
+ indexed: true,
227
+ internalType: "bytes32",
228
+ name: "scheduleKey",
229
+ type: "bytes32",
230
+ },
231
+ {
232
+ indexed: true,
233
+ internalType: "address",
234
+ name: "subscriber",
235
+ type: "address",
236
+ },
237
+ {
238
+ indexed: false,
239
+ internalType: "address",
240
+ name: "token",
241
+ type: "address",
242
+ },
243
+ {
244
+ indexed: false,
245
+ internalType: "uint8",
246
+ name: "index",
247
+ type: "uint8",
248
+ },
249
+ {
250
+ indexed: false,
251
+ internalType: "uint256",
252
+ name: "payerTotal",
253
+ type: "uint256",
254
+ },
255
+ ],
256
+ name: "PaymentTriggered",
257
+ type: "event",
258
+ },
124
259
  {
125
260
  anonymous: false,
126
261
  inputs: [
@@ -196,6 +331,31 @@ const _abi = [
196
331
  name: "RoleRevoked",
197
332
  type: "event",
198
333
  },
334
+ {
335
+ anonymous: false,
336
+ inputs: [
337
+ {
338
+ indexed: true,
339
+ internalType: "bytes32",
340
+ name: "scheduleKey",
341
+ type: "bytes32",
342
+ },
343
+ {
344
+ indexed: true,
345
+ internalType: "address",
346
+ name: "subscriber",
347
+ type: "address",
348
+ },
349
+ {
350
+ indexed: true,
351
+ internalType: "address",
352
+ name: "canceller",
353
+ type: "address",
354
+ },
355
+ ],
356
+ name: "ScheduleCancelled",
357
+ type: "event",
358
+ },
199
359
  {
200
360
  anonymous: false,
201
361
  inputs: [
@@ -222,6 +382,19 @@ const _abi = [
222
382
  stateMutability: "view",
223
383
  type: "function",
224
384
  },
385
+ {
386
+ inputs: [],
387
+ name: "MAX_LEGS",
388
+ outputs: [
389
+ {
390
+ internalType: "uint8",
391
+ name: "",
392
+ type: "uint8",
393
+ },
394
+ ],
395
+ stateMutability: "view",
396
+ type: "function",
397
+ },
225
398
  {
226
399
  inputs: [],
227
400
  name: "RELAYER_ROLE",
@@ -235,6 +408,171 @@ const _abi = [
235
408
  stateMutability: "view",
236
409
  type: "function",
237
410
  },
411
+ {
412
+ inputs: [
413
+ {
414
+ internalType: "bytes32",
415
+ name: "scheduleKey",
416
+ type: "bytes32",
417
+ },
418
+ {
419
+ internalType: "uint256",
420
+ name: "mask",
421
+ type: "uint256",
422
+ },
423
+ ],
424
+ name: "admitCycles",
425
+ outputs: [],
426
+ stateMutability: "nonpayable",
427
+ type: "function",
428
+ },
429
+ {
430
+ inputs: [
431
+ {
432
+ internalType: "bytes32",
433
+ name: "scheduleKey",
434
+ type: "bytes32",
435
+ },
436
+ ],
437
+ name: "admittedCycles",
438
+ outputs: [
439
+ {
440
+ internalType: "uint256",
441
+ name: "",
442
+ type: "uint256",
443
+ },
444
+ ],
445
+ stateMutability: "view",
446
+ type: "function",
447
+ },
448
+ {
449
+ inputs: [
450
+ {
451
+ components: [
452
+ {
453
+ internalType: "address",
454
+ name: "subscriber",
455
+ type: "address",
456
+ },
457
+ {
458
+ internalType: "address",
459
+ name: "token",
460
+ type: "address",
461
+ },
462
+ {
463
+ internalType: "uint128",
464
+ name: "relayerFee",
465
+ type: "uint128",
466
+ },
467
+ {
468
+ internalType: "uint8",
469
+ name: "totalPayments",
470
+ type: "uint8",
471
+ },
472
+ {
473
+ internalType: "uint256",
474
+ name: "nonce",
475
+ type: "uint256",
476
+ },
477
+ {
478
+ internalType: "uint256",
479
+ name: "paymentDeadline",
480
+ type: "uint256",
481
+ },
482
+ {
483
+ internalType: "bool",
484
+ name: "strictOrder",
485
+ type: "bool",
486
+ },
487
+ {
488
+ internalType: "bytes32",
489
+ name: "scheduleId",
490
+ type: "bytes32",
491
+ },
492
+ {
493
+ internalType: "uint32[]",
494
+ name: "dueTimes",
495
+ type: "uint32[]",
496
+ },
497
+ {
498
+ components: [
499
+ {
500
+ internalType: "address",
501
+ name: "recipient",
502
+ type: "address",
503
+ },
504
+ {
505
+ internalType: "uint128",
506
+ name: "amount",
507
+ type: "uint128",
508
+ },
509
+ {
510
+ internalType: "bytes8",
511
+ name: "paymentReference",
512
+ type: "bytes8",
513
+ },
514
+ ],
515
+ internalType: "struct ERC20RecurringPaymentProxy.Leg[]",
516
+ name: "initialLegs",
517
+ type: "tuple[]",
518
+ },
519
+ {
520
+ components: [
521
+ {
522
+ internalType: "address",
523
+ name: "recipient",
524
+ type: "address",
525
+ },
526
+ {
527
+ internalType: "uint128",
528
+ name: "amount",
529
+ type: "uint128",
530
+ },
531
+ {
532
+ internalType: "bytes8",
533
+ name: "paymentReference",
534
+ type: "bytes8",
535
+ },
536
+ ],
537
+ internalType: "struct ERC20RecurringPaymentProxy.Leg[]",
538
+ name: "recurringLegs",
539
+ type: "tuple[]",
540
+ },
541
+ ],
542
+ internalType: "struct ERC20RecurringPaymentProxy.SchedulePermitBatch",
543
+ name: "p",
544
+ type: "tuple",
545
+ },
546
+ {
547
+ internalType: "bytes",
548
+ name: "signature",
549
+ type: "bytes",
550
+ },
551
+ ],
552
+ name: "cancelScheduleBatch",
553
+ outputs: [],
554
+ stateMutability: "nonpayable",
555
+ type: "function",
556
+ },
557
+ {
558
+ inputs: [
559
+ {
560
+ internalType: "bytes32",
561
+ name: "scheduleKey",
562
+ type: "bytes32",
563
+ },
564
+ ],
565
+ name: "cancelledSchedules",
566
+ outputs: [
567
+ {
568
+ internalType: "bool",
569
+ name: "",
570
+ type: "bool",
571
+ },
572
+ ],
573
+ stateMutability: "view",
574
+ type: "function",
575
+ },
238
576
  {
239
577
  inputs: [],
240
578
  name: "eip712Domain",
@@ -310,6 +648,19 @@ const _abi = [
310
648
  stateMutability: "view",
311
649
  type: "function",
312
650
  },
651
+ {
652
+ inputs: [
653
+ {
654
+ internalType: "address",
655
+ name: "relayer",
656
+ type: "address",
657
+ },
658
+ ],
659
+ name: "grantRelayer",
660
+ outputs: [],
661
+ stateMutability: "nonpayable",
662
+ type: "function",
663
+ },
313
664
  {
314
665
  inputs: [
315
666
  {
@@ -355,30 +706,127 @@ const _abi = [
355
706
  {
356
707
  inputs: [
357
708
  {
358
- internalType: "bytes32",
359
- name: "",
360
- type: "bytes32",
709
+ components: [
710
+ {
711
+ internalType: "address",
712
+ name: "subscriber",
713
+ type: "address",
714
+ },
715
+ {
716
+ internalType: "address",
717
+ name: "token",
718
+ type: "address",
719
+ },
720
+ {
721
+ internalType: "uint128",
722
+ name: "relayerFee",
723
+ type: "uint128",
724
+ },
725
+ {
726
+ internalType: "uint8",
727
+ name: "totalPayments",
728
+ type: "uint8",
729
+ },
730
+ {
731
+ internalType: "uint256",
732
+ name: "nonce",
733
+ type: "uint256",
734
+ },
735
+ {
736
+ internalType: "uint256",
737
+ name: "paymentDeadline",
738
+ type: "uint256",
739
+ },
740
+ {
741
+ internalType: "bool",
742
+ name: "strictOrder",
743
+ type: "bool",
744
+ },
745
+ {
746
+ internalType: "bytes32",
747
+ name: "scheduleId",
748
+ type: "bytes32",
749
+ },
750
+ {
751
+ internalType: "uint32[]",
752
+ name: "dueTimes",
753
+ type: "uint32[]",
754
+ },
755
+ {
756
+ components: [
757
+ {
758
+ internalType: "address",
759
+ name: "recipient",
760
+ type: "address",
761
+ },
762
+ {
763
+ internalType: "uint128",
764
+ name: "amount",
765
+ type: "uint128",
766
+ },
767
+ {
768
+ internalType: "bytes8",
769
+ name: "paymentReference",
770
+ type: "bytes8",
771
+ },
772
+ ],
773
+ internalType: "struct ERC20RecurringPaymentProxy.Leg[]",
774
+ name: "initialLegs",
775
+ type: "tuple[]",
776
+ },
777
+ {
778
+ components: [
779
+ {
780
+ internalType: "address",
781
+ name: "recipient",
782
+ type: "address",
783
+ },
784
+ {
785
+ internalType: "uint128",
786
+ name: "amount",
787
+ type: "uint128",
788
+ },
789
+ {
790
+ internalType: "bytes8",
791
+ name: "paymentReference",
792
+ type: "bytes8",
793
+ },
794
+ ],
795
+ internalType: "struct ERC20RecurringPaymentProxy.Leg[]",
796
+ name: "recurringLegs",
797
+ type: "tuple[]",
798
+ },
799
+ ],
800
+ internalType: "struct ERC20RecurringPaymentProxy.SchedulePermitBatch",
801
+ name: "p",
802
+ type: "tuple",
361
803
  },
362
804
  ],
363
- name: "lastPaymentIndex",
805
+ name: "hashScheduleBatch",
364
806
  outputs: [
365
807
  {
366
- internalType: "uint8",
808
+ internalType: "bytes32",
367
809
  name: "",
368
- type: "uint8",
810
+ type: "bytes32",
369
811
  },
370
812
  ],
371
813
  stateMutability: "view",
372
814
  type: "function",
373
815
  },
374
816
  {
375
- inputs: [],
376
- name: "owner",
817
+ inputs: [
818
+ {
819
+ internalType: "bytes32",
820
+ name: "scheduleKey",
821
+ type: "bytes32",
822
+ },
823
+ ],
824
+ name: "lastPaymentIndex",
377
825
  outputs: [
378
826
  {
379
- internalType: "address",
827
+ internalType: "uint8",
380
828
  name: "",
381
- type: "address",
829
+ type: "uint8",
382
830
  },
383
831
  ],
384
832
  stateMutability: "view",
@@ -404,13 +852,6 @@ const _abi = [
404
852
  stateMutability: "view",
405
853
  type: "function",
406
854
  },
407
- {
408
- inputs: [],
409
- name: "renounceOwnership",
410
- outputs: [],
411
- stateMutability: "nonpayable",
412
- type: "function",
413
- },
414
855
  {
415
856
  inputs: [
416
857
  {
@@ -432,17 +873,22 @@ const _abi = [
432
873
  {
433
874
  inputs: [
434
875
  {
435
- internalType: "bytes32",
436
- name: "role",
437
- type: "bytes32",
876
+ internalType: "address",
877
+ name: "token",
878
+ type: "address",
438
879
  },
439
880
  {
440
881
  internalType: "address",
441
- name: "account",
882
+ name: "to",
442
883
  type: "address",
443
884
  },
885
+ {
886
+ internalType: "uint256",
887
+ name: "amount",
888
+ type: "uint256",
889
+ },
444
890
  ],
445
- name: "revokeRole",
891
+ name: "rescueTokens",
446
892
  outputs: [],
447
893
  stateMutability: "nonpayable",
448
894
  type: "function",
@@ -450,12 +896,17 @@ const _abi = [
450
896
  {
451
897
  inputs: [
452
898
  {
453
- internalType: "address",
454
- name: "newProxy",
455
- type: "address",
899
+ internalType: "bytes32",
900
+ name: "scheduleKey",
901
+ type: "bytes32",
902
+ },
903
+ {
904
+ internalType: "uint256",
905
+ name: "mask",
906
+ type: "uint256",
456
907
  },
457
908
  ],
458
- name: "setFeeProxy",
909
+ name: "revokeCycles",
459
910
  outputs: [],
460
911
  stateMutability: "nonpayable",
461
912
  type: "function",
@@ -464,16 +915,29 @@ const _abi = [
464
915
  inputs: [
465
916
  {
466
917
  internalType: "address",
467
- name: "oldRelayer",
918
+ name: "relayer",
468
919
  type: "address",
469
920
  },
921
+ ],
922
+ name: "revokeRelayer",
923
+ outputs: [],
924
+ stateMutability: "nonpayable",
925
+ type: "function",
926
+ },
927
+ {
928
+ inputs: [
929
+ {
930
+ internalType: "bytes32",
931
+ name: "role",
932
+ type: "bytes32",
933
+ },
470
934
  {
471
935
  internalType: "address",
472
- name: "newRelayer",
936
+ name: "account",
473
937
  type: "address",
474
938
  },
475
939
  ],
476
- name: "setRelayer",
940
+ name: "revokeRole",
477
941
  outputs: [],
478
942
  stateMutability: "nonpayable",
479
943
  type: "function",
@@ -481,16 +945,141 @@ const _abi = [
481
945
  {
482
946
  inputs: [
483
947
  {
484
- internalType: "bytes4",
485
- name: "interfaceId",
486
- type: "bytes4",
948
+ components: [
949
+ {
950
+ internalType: "address",
951
+ name: "subscriber",
952
+ type: "address",
953
+ },
954
+ {
955
+ internalType: "address",
956
+ name: "token",
957
+ type: "address",
958
+ },
959
+ {
960
+ internalType: "uint128",
961
+ name: "relayerFee",
962
+ type: "uint128",
963
+ },
964
+ {
965
+ internalType: "uint8",
966
+ name: "totalPayments",
967
+ type: "uint8",
968
+ },
969
+ {
970
+ internalType: "uint256",
971
+ name: "nonce",
972
+ type: "uint256",
973
+ },
974
+ {
975
+ internalType: "uint256",
976
+ name: "paymentDeadline",
977
+ type: "uint256",
978
+ },
979
+ {
980
+ internalType: "bool",
981
+ name: "strictOrder",
982
+ type: "bool",
983
+ },
984
+ {
985
+ internalType: "bytes32",
986
+ name: "scheduleId",
987
+ type: "bytes32",
988
+ },
989
+ {
990
+ internalType: "uint32[]",
991
+ name: "dueTimes",
992
+ type: "uint32[]",
993
+ },
994
+ {
995
+ components: [
996
+ {
997
+ internalType: "address",
998
+ name: "recipient",
999
+ type: "address",
1000
+ },
1001
+ {
1002
+ internalType: "uint128",
1003
+ name: "amount",
1004
+ type: "uint128",
1005
+ },
1006
+ {
1007
+ internalType: "bytes8",
1008
+ name: "paymentReference",
1009
+ type: "bytes8",
1010
+ },
1011
+ ],
1012
+ internalType: "struct ERC20RecurringPaymentProxy.Leg[]",
1013
+ name: "initialLegs",
1014
+ type: "tuple[]",
1015
+ },
1016
+ {
1017
+ components: [
1018
+ {
1019
+ internalType: "address",
1020
+ name: "recipient",
1021
+ type: "address",
1022
+ },
1023
+ {
1024
+ internalType: "uint128",
1025
+ name: "amount",
1026
+ type: "uint128",
1027
+ },
1028
+ {
1029
+ internalType: "bytes8",
1030
+ name: "paymentReference",
1031
+ type: "bytes8",
1032
+ },
1033
+ ],
1034
+ internalType: "struct ERC20RecurringPaymentProxy.Leg[]",
1035
+ name: "recurringLegs",
1036
+ type: "tuple[]",
1037
+ },
1038
+ ],
1039
+ internalType: "struct ERC20RecurringPaymentProxy.SchedulePermitBatch",
1040
+ name: "p",
1041
+ type: "tuple",
487
1042
  },
488
1043
  ],
489
- name: "supportsInterface",
1044
+ name: "scheduleKeyFromBatch",
490
1045
  outputs: [
491
1046
  {
492
- internalType: "bool",
1047
+ internalType: "bytes32",
493
1048
  name: "",
1049
+ type: "bytes32",
1050
+ },
1051
+ ],
1052
+ stateMutability: "pure",
1053
+ type: "function",
1054
+ },
1055
+ {
1056
+ inputs: [
1057
+ {
1058
+ internalType: "bytes32",
1059
+ name: "",
1060
+ type: "bytes32",
1061
+ },
1062
+ ],
1063
+ name: "schedules",
1064
+ outputs: [
1065
+ {
1066
+ internalType: "uint256",
1067
+ name: "bitmap",
1068
+ type: "uint256",
1069
+ },
1070
+ {
1071
+ internalType: "uint256",
1072
+ name: "admitted",
1073
+ type: "uint256",
1074
+ },
1075
+ {
1076
+ internalType: "uint8",
1077
+ name: "lastIndex",
1078
+ type: "uint8",
1079
+ },
1080
+ {
1081
+ internalType: "bool",
1082
+ name: "cancelled",
494
1083
  type: "bool",
495
1084
  },
496
1085
  ],
@@ -501,15 +1090,34 @@ const _abi = [
501
1090
  inputs: [
502
1091
  {
503
1092
  internalType: "address",
504
- name: "newOwner",
1093
+ name: "newProxy",
505
1094
  type: "address",
506
1095
  },
507
1096
  ],
508
- name: "transferOwnership",
1097
+ name: "setFeeProxy",
509
1098
  outputs: [],
510
1099
  stateMutability: "nonpayable",
511
1100
  type: "function",
512
1101
  },
1102
+ {
1103
+ inputs: [
1104
+ {
1105
+ internalType: "bytes4",
1106
+ name: "interfaceId",
1107
+ type: "bytes4",
1108
+ },
1109
+ ],
1110
+ name: "supportsInterface",
1111
+ outputs: [
1112
+ {
1113
+ internalType: "bool",
1114
+ name: "",
1115
+ type: "bool",
1116
+ },
1117
+ ],
1118
+ stateMutability: "view",
1119
+ type: "function",
1120
+ },
513
1121
  {
514
1122
  inputs: [
515
1123
  {
@@ -524,41 +1132,11 @@ const _abi = [
524
1132
  name: "token",
525
1133
  type: "address",
526
1134
  },
527
- {
528
- internalType: "address",
529
- name: "recipient",
530
- type: "address",
531
- },
532
- {
533
- internalType: "address",
534
- name: "feeAddress",
535
- type: "address",
536
- },
537
- {
538
- internalType: "uint128",
539
- name: "amount",
540
- type: "uint128",
541
- },
542
- {
543
- internalType: "uint128",
544
- name: "feeAmount",
545
- type: "uint128",
546
- },
547
1135
  {
548
1136
  internalType: "uint128",
549
1137
  name: "relayerFee",
550
1138
  type: "uint128",
551
1139
  },
552
- {
553
- internalType: "uint32",
554
- name: "periodSeconds",
555
- type: "uint32",
556
- },
557
- {
558
- internalType: "uint32",
559
- name: "firstPayment",
560
- type: "uint32",
561
- },
562
1140
  {
563
1141
  internalType: "uint8",
564
1142
  name: "totalPayments",
@@ -571,7 +1149,7 @@ const _abi = [
571
1149
  },
572
1150
  {
573
1151
  internalType: "uint256",
574
- name: "deadline",
1152
+ name: "paymentDeadline",
575
1153
  type: "uint256",
576
1154
  },
577
1155
  {
@@ -579,8 +1157,62 @@ const _abi = [
579
1157
  name: "strictOrder",
580
1158
  type: "bool",
581
1159
  },
1160
+ {
1161
+ internalType: "bytes32",
1162
+ name: "scheduleId",
1163
+ type: "bytes32",
1164
+ },
1165
+ {
1166
+ internalType: "uint32[]",
1167
+ name: "dueTimes",
1168
+ type: "uint32[]",
1169
+ },
1170
+ {
1171
+ components: [
1172
+ {
1173
+ internalType: "address",
1174
+ name: "recipient",
1175
+ type: "address",
1176
+ },
1177
+ {
1178
+ internalType: "uint128",
1179
+ name: "amount",
1180
+ type: "uint128",
1181
+ },
1182
+ {
1183
+ internalType: "bytes8",
1184
+ name: "paymentReference",
1185
+ type: "bytes8",
1186
+ },
1187
+ ],
1188
+ internalType: "struct ERC20RecurringPaymentProxy.Leg[]",
1189
+ name: "initialLegs",
1190
+ type: "tuple[]",
1191
+ },
1192
+ {
1193
+ components: [
1194
+ {
1195
+ internalType: "address",
1196
+ name: "recipient",
1197
+ type: "address",
1198
+ },
1199
+ {
1200
+ internalType: "uint128",
1201
+ name: "amount",
1202
+ type: "uint128",
1203
+ },
1204
+ {
1205
+ internalType: "bytes8",
1206
+ name: "paymentReference",
1207
+ type: "bytes8",
1208
+ },
1209
+ ],
1210
+ internalType: "struct ERC20RecurringPaymentProxy.Leg[]",
1211
+ name: "recurringLegs",
1212
+ type: "tuple[]",
1213
+ },
582
1214
  ],
583
- internalType: "struct ERC20RecurringPaymentProxy.SchedulePermit",
1215
+ internalType: "struct ERC20RecurringPaymentProxy.SchedulePermitBatch",
584
1216
  name: "p",
585
1217
  type: "tuple",
586
1218
  },
@@ -594,13 +1226,8 @@ const _abi = [
594
1226
  name: "index",
595
1227
  type: "uint8",
596
1228
  },
597
- {
598
- internalType: "bytes",
599
- name: "paymentReference",
600
- type: "bytes",
601
- },
602
1229
  ],
603
- name: "triggerRecurringPayment",
1230
+ name: "triggerRecurringPaymentBatch",
604
1231
  outputs: [],
605
1232
  stateMutability: "nonpayable",
606
1233
  type: "function",
@@ -609,7 +1236,7 @@ const _abi = [
609
1236
  inputs: [
610
1237
  {
611
1238
  internalType: "bytes32",
612
- name: "",
1239
+ name: "scheduleKey",
613
1240
  type: "bytes32",
614
1241
  },
615
1242
  ],
@@ -632,7 +1259,7 @@ const _abi = [
632
1259
  type: "function",
633
1260
  },
634
1261
  ];
635
- const _bytecode = "0x6101606040523480156200001257600080fd5b50604051620026d6380380620026d6833981016040819052620000359162000560565b6040518060400160405280601a81526020017f4552433230526563757272696e675061796d656e7450726f7879000000000000815250604051806040016040528060018152602001603160f81b815250620000a06000836200022b60201b62000a1f1790919060201c565b61012052620000bd8160016200022b602090811b62000a1f17901c565b61014052815160208084019190912060e052815190820120610100524660a0526200014b60e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c0526003805460ff1916905560016004556200016e336200027f565b6001600160a01b03831615806200018c57506001600160a01b038216155b806200019f57506001600160a01b038116155b15620001be57604051636f4df31160e01b815260040160405180910390fd5b620001cb600084620002d1565b620001f77fe2b7fb3b832174769106daebcfd6d1970523240dda11281102db9363b83b0dc483620002d1565b620002028362000376565b600880546001600160a01b0319166001600160a01b039290921691909117905550620006619050565b60006020835110156200024b576200024383620003f9565b905062000279565b8262000262836200043c60201b62000a561760201c565b81516200027392602001906200049d565b5060ff90505b92915050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60008281526002602090815260408083206001600160a01b038516845290915290205460ff16620003725760008281526002602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620003313390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b620003806200043f565b6001600160a01b038116620003eb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b620003f6816200027f565b50565b600080829050601f8151111562000427578260405163305a27a960e01b8152600401620003e29190620005aa565b8051620004348262000602565b179392505050565b90565b6005546001600160a01b031633146200049b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401620003e2565b565b828054620004ab906200062a565b90600052602060002090601f016020900481019282620004cf57600085556200051a565b82601f10620004ea57805160ff19168380011785556200051a565b828001600101855582156200051a579182015b828111156200051a578251825591602001919060010190620004fd565b50620005289291506200052c565b5090565b5b808211156200052857600081556001016200052d565b80516001600160a01b03811681146200055b57600080fd5b919050565b6000806000606084860312156200057657600080fd5b620005818462000543565b9250620005916020850162000543565b9150620005a16040850162000543565b90509250925092565b600060208083528351808285015260005b81811015620005d957858101830151858201604001528201620005bb565b81811115620005ec576000604083870101525b50601f01601f1916929092016040019392505050565b8051602080830151919081101562000624576000198160200360031b1b821691505b50919050565b600181811c908216806200063f57607f821691505b602082108114156200062457634e487b7160e01b600052602260045260246000fd5b60805160a05160c05160e05161010051610120516101405161201a620006bc600039600061051b015260006104f1015260006116a001526000611678015260006115d3015260006115fd01526000611627015261201a6000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c8063715018a6116100b8578063926d7d7f1161007c578063926d7d7f14610290578063a217fddf146102a5578063ac7a9e00146102ad578063d547741f146102c0578063e94938a6146102d3578063f2fde38b1461030857600080fd5b8063715018a6146102415780638456cb591461024957806384b0196e146102515780638da5cb5b1461026c57806391d148541461027d57600080fd5b806336568abe116100ff57806336568abe146101e85780633f4ba83a146101fb57806340f4483b146102035780635c975abb1461022357806369d775a41461022e57600080fd5b806301ffc9a71461013c578063176b2bfb14610164578063248a9ca31461018f57806325be0be1146101c05780632f2ff15d146101d5575b600080fd5b61014f61014a366004611853565b61031b565b60405190151581526020015b60405180910390f35b600854610177906001600160a01b031681565b6040516001600160a01b03909116815260200161015b565b6101b261019d36600461187d565b60009081526002602052604090206001015490565b60405190815260200161015b565b6101d36101ce3660046118b2565b610352565b005b6101d36101e33660046118cd565b6103a3565b6101d36101f63660046118cd565b6103cd565b6101d3610450565b6101b261021136600461187d565b60066020526000908152604090205481565b60035460ff1661014f565b6101d361023c3660046118f9565b610462565b6101d36104c1565b6101d36104d3565b6102596104e3565b60405161015b979695949392919061197f565b6005546001600160a01b0316610177565b61014f61028b3660046118cd565b61056b565b6101b2600080516020611fc583398151915281565b6101b2600081565b6101d36102bb366004611a68565b610596565b6101d36102ce3660046118cd565b610981565b6102f66102e136600461187d565b60076020526000908152604090205460ff1681565b60405160ff909116815260200161015b565b6101d36103163660046118b2565b6109a6565b60006001600160e01b03198216637965db0b60e01b148061034c57506301ffc9a760e01b6001600160e01b03198316145b92915050565b61035a610a59565b6001600160a01b03811661038157604051636f4df31160e01b815260040160405180910390fd5b600880546001600160a01b0319166001600160a01b0392909216919091179055565b6000828152600260205260409020600101546103be81610ab3565b6103c88383610abd565b505050565b6001600160a01b03811633146104425760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b61044c8282610b43565b5050565b610458610a59565b610460610baa565b565b61046a610a59565b6001600160a01b03811661049157604051636f4df31160e01b815260040160405180910390fd5b6104a9600080516020611fc583398151915283610b43565b61044c600080516020611fc583398151915282610abd565b6104c9610a59565b6104606000610bfc565b6104db610a59565b610460610c4e565b6000606080828080836105167f000000000000000000000000000000000000000000000000000000000000000083610c8b565b6105417f00000000000000000000000000000000000000000000000000000000000000006001610c8b565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b60009182526002602090815260408084206001600160a01b0393909316845291905290205460ff1690565b61059e610d2f565b600080516020611fc58339815191526105b681610ab3565b6105be610d75565b60006105c988610dcf565b90506105d860208901896118b2565b6001600160a01b031661062388888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508693925050610e2d9050565b6001600160a01b03161461064a57604051636ad27af560e11b815260040160405180910390fd5b8761016001354211156106705760405163da023c0b60e01b815260040160405180910390fd5b6101008560ff161061069557604051631cd9d08560e21b815260040160405180910390fd5b6106a76101a089016101808a01611b37565b1561070a576000818152600760205260409020546106c99060ff166001611b6a565b60ff168560ff16146106ee5760405163061235ef60e01b815260040160405180910390fd5b6000818152600760205260409020805460ff191660ff87161790555b61071c61014089016101208a01611b8f565b60ff168560ff1611156107425760405163bec060dd60e01b815260040160405180910390fd5b60006107556101008a0160e08b01611bbe565b63ffffffff16610766600188611bd9565b60ff166107739190611bfc565b6107856101208b016101008c01611bbe565b63ffffffff166107959190611c1b565b9050804210156107b85760405163b39d270960e01b815260040160405180910390fd5b600082815260066020526040902054600160ff88161b90808216156107f05760405163544db32b60e01b815260040160405180910390fd5b6000848152600660205260408120828417905561081360e08d0160c08e01611c4a565b61082360c08e0160a08f01611c4a565b8d60800160208101906108369190611c4a565b6108409190611c65565b61084a9190611c65565b6001600160801b03169050600061086760408e0160208f016118b2565b905061088b61087960208f018f6118b2565b6001600160a01b038316903085610e51565b506008546108a7906001600160a01b0383811691166000610f2d565b5061090b600860009054906101000a90046001600160a01b03168e60a00160208101906108d49190611c4a565b8f60800160208101906108e79190611c4a565b6108f19190611c65565b6001600160a01b03841691906001600160801b0316610f2d565b506109178d8a8a611000565b61092760e08e0160c08f01611c4a565b6001600160801b03161561096857610966338e60c001602081019061094c9190611c4a565b6001600160a01b03841691906001600160801b03166110b3565b505b5050505050506109786001600455565b50505050505050565b60008281526002602052604090206001015461099c81610ab3565b6103c88383610b43565b6109ae610a59565b6001600160a01b038116610a135760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610439565b610a1c81610bfc565b50565b6000602083511015610a3b57610a3483611110565b905061034c565b82828151610a4c92602001906117ba565b5060ff905061034c565b90565b6005546001600160a01b031633146104605760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610439565b610a1c813361114e565b610ac7828261056b565b61044c5760008281526002602090815260408083206001600160a01b03851684529091529020805460ff19166001179055610aff3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b610b4d828261056b565b1561044c5760008281526002602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b610bb26111a7565b6003805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b610c56610d2f565b6003805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258610bdf3390565b606060ff8314610c9e57610a34836111f0565b818054610caa90611c90565b80601f0160208091040260200160405190810160405280929190818152602001828054610cd690611c90565b8015610d235780601f10610cf857610100808354040283529160200191610d23565b820191906000526020600020905b815481529060010190602001808311610d0657829003601f168201915b5050505050905061034c565b60035460ff16156104605760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610439565b60026004541415610dc85760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610439565b6002600455565b6000807f3e691a1c66178d267f01c56f85dc2647a09aabeafc8f5c5d40d6021b0b2a6d0383604051602001610e05929190611ccb565b604051602081830303815290604052805190602001209050610e268161122f565b9392505050565b6000806000610e3c858561125c565b91509150610e49816112a2565b509392505050565b6040516001600160a01b038481166024830152838116604483015260648201839052600091829182919088169060840160408051601f198184030181529181526020820180516001600160e01b03166323b872dd60e01b17905251610eb69190611e2f565b6000604051808303816000865af19150503d8060008114610ef3576040519150601f19603f3d011682016040523d82523d6000602084013e610ef8565b606091505b5091509150818015610f22575080511580610f22575080806020019051810190610f229190611e4b565b979650505050505050565b6040516001600160a01b03838116602483015260448201839052600091829182919087169060640160408051601f198184030181529181526020820180516001600160e01b031663095ea7b360e01b17905251610f8a9190611e2f565b6000604051808303816000865af19150503d8060008114610fc7576040519150601f19603f3d011682016040523d82523d6000602084013e610fcc565b606091505b5091509150818015610ff6575080511580610ff6575080806020019051810190610ff69190611e4b565b9695505050505050565b6008546001600160a01b031663c219a14d61102160408601602087016118b2565b61103160608701604088016118b2565b61104160a0880160808901611c4a565b868661105360c08b0160a08c01611c4a565b61106360808c0160608d016118b2565b6040518863ffffffff1660e01b81526004016110859796959493929190611e68565b600060405180830381600087803b15801561109f57600080fd5b505af1158015610978573d6000803e3d6000fd5b6040516001600160a01b03838116602483015260448201839052600091829182919087169060640160408051601f198184030181529181526020820180516001600160e01b031663a9059cbb60e01b17905251610f8a9190611e2f565b600080829050601f8151111561113b578260405163305a27a960e01b81526004016104399190611ed5565b805161114682611ee8565b179392505050565b611158828261056b565b61044c57611165816113f0565b611170836020611402565b604051602001611181929190611f0c565b60408051601f198184030181529082905262461bcd60e51b825261043991600401611ed5565b60035460ff166104605760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610439565b606060006111fd8361159e565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b600061034c61123c6115c6565b8360405161190160f01b8152600281019290925260228201526042902090565b6000808251604114156112935760208301516040840151606085015160001a611287878285856116f6565b9450945050505061129b565b506000905060025b9250929050565b60008160048111156112b6576112b6611f81565b14156112bf5750565b60018160048111156112d3576112d3611f81565b14156113215760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610439565b600281600481111561133557611335611f81565b14156113835760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610439565b600381600481111561139757611397611f81565b1415610a1c5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610439565b606061034c6001600160a01b03831660145b60606000611411836002611bfc565b61141c906002611c1b565b67ffffffffffffffff81111561143457611434611b08565b6040519080825280601f01601f19166020018201604052801561145e576020820181803683370190505b509050600360fc1b8160008151811061147957611479611f97565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106114a8576114a8611f97565b60200101906001600160f81b031916908160001a90535060006114cc846002611bfc565b6114d7906001611c1b565b90505b600181111561154f576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061150b5761150b611f97565b1a60f81b82828151811061152157611521611f97565b60200101906001600160f81b031916908160001a90535060049490941c9361154881611fad565b90506114da565b508315610e265760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610439565b600060ff8216601f81111561034c57604051632cd44ac360e21b815260040160405180910390fd5b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561161f57507f000000000000000000000000000000000000000000000000000000000000000046145b1561164957507f000000000000000000000000000000000000000000000000000000000000000090565b6116f1604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b905090565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561172d57506000905060036117b1565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611781573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166117aa576000600192509250506117b1565b9150600090505b94509492505050565b8280546117c690611c90565b90600052602060002090601f0160209004810192826117e8576000855561182e565b82601f1061180157805160ff191683800117855561182e565b8280016001018555821561182e579182015b8281111561182e578251825591602001919060010190611813565b5061183a92915061183e565b5090565b5b8082111561183a576000815560010161183f565b60006020828403121561186557600080fd5b81356001600160e01b031981168114610e2657600080fd5b60006020828403121561188f57600080fd5b5035919050565b80356001600160a01b03811681146118ad57600080fd5b919050565b6000602082840312156118c457600080fd5b610e2682611896565b600080604083850312156118e057600080fd5b823591506118f060208401611896565b90509250929050565b6000806040838503121561190c57600080fd5b61191583611896565b91506118f060208401611896565b60005b8381101561193e578181015183820152602001611926565b8381111561194d576000848401525b50505050565b6000815180845261196b816020860160208601611923565b601f01601f19169290920160200192915050565b60ff60f81b881681526000602060e08184015261199f60e084018a611953565b83810360408501526119b1818a611953565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b81811015611a03578351835292840192918401916001016119e7565b50909c9b505050505050505050505050565b60008083601f840112611a2757600080fd5b50813567ffffffffffffffff811115611a3f57600080fd5b60208301915083602082850101111561129b57600080fd5b803560ff811681146118ad57600080fd5b600080600080600080868803610200811215611a8357600080fd5b6101a080821215611a9357600080fd5b889750870135905067ffffffffffffffff80821115611ab157600080fd5b611abd8a838b01611a15565b9097509550859150611ad26101c08a01611a57565b94506101e0890135915080821115611ae957600080fd5b50611af689828a01611a15565b979a9699509497509295939492505050565b634e487b7160e01b600052604160045260246000fd5b8015158114610a1c57600080fd5b80356118ad81611b1e565b600060208284031215611b4957600080fd5b8135610e2681611b1e565b634e487b7160e01b600052601160045260246000fd5b600060ff821660ff84168060ff03821115611b8757611b87611b54565b019392505050565b600060208284031215611ba157600080fd5b610e2682611a57565b803563ffffffff811681146118ad57600080fd5b600060208284031215611bd057600080fd5b610e2682611baa565b600060ff821660ff841680821015611bf357611bf3611b54565b90039392505050565b6000816000190483118215151615611c1657611c16611b54565b500290565b60008219821115611c2e57611c2e611b54565b500190565b80356001600160801b03811681146118ad57600080fd5b600060208284031215611c5c57600080fd5b610e2682611c33565b60006001600160801b03808316818516808303821115611c8757611c87611b54565b01949350505050565b600181811c90821680611ca457607f821691505b60208210811415611cc557634e487b7160e01b600052602260045260246000fd5b50919050565b8281526101c08101611cf060208301611ce385611896565b6001600160a01b03169052565b611cfc60208401611896565b6001600160a01b038116604084015250611d1860408401611896565b6001600160a01b038116606084015250611d3460608401611896565b6001600160a01b038116608084015250611d5060808401611c33565b6001600160801b03811660a084015250611d6c60a08401611c33565b6001600160801b03811660c084015250611d8860c08401611c33565b6001600160801b03811660e084015250611da460e08401611baa565b610100611db88185018363ffffffff169052565b611dc3818601611baa565b915050610120611dda8185018363ffffffff169052565b611de5818601611a57565b915050610140611df98185018360ff169052565b61016091508085013582850152506101808185013581850152611e1d818601611b2c565b915050610e496101a084018215159052565b60008251611e41818460208701611923565b9190910192915050565b600060208284031215611e5d57600080fd5b8151610e2681611b1e565b600060018060a01b03808a16835280891660208401526001600160801b03808916604085015260c060608501528660c0850152868860e0860137600060e0888601810191909152951660808401529290921660a0820152601f909301601f19169092010195945050505050565b602081526000610e266020830184611953565b80516020808301519190811015611cc55760001960209190910360031b1b16919050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611f44816017850160208801611923565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351611f75816028840160208801611923565b01602801949350505050565b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b600081611fbc57611fbc611b54565b50600019019056fee2b7fb3b832174769106daebcfd6d1970523240dda11281102db9363b83b0dc4a264697066735822122092c48c44feb207d96e99c09d3d48a9aab6e2778574103c3ad9d1734e074c726864736f6c63430008090033";
1262
+ const _bytecode = "0x6101606040523480156200001257600080fd5b506040516200360f3803806200360f833981016040819052620000359162000420565b6040518060400160405280601a81526020017f4552433230526563757272696e675061796d656e7450726f7879000000000000815250604051806040016040528060018152602001603160f81b815250620000a06000836200021560201b62000fdc1790919060201c565b61012052620000bd81600162000215602090811b62000fdc17901c565b61014052815160208084019190912060e052815190820120610100524660a0526200014b60e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c0526003805460ff1916905560016004556001600160a01b03831615806200018157506001600160a01b038216155b806200019457506001600160a01b038116155b15620001b357604051636f4df31160e01b815260040160405180910390fd5b620001c060008462000269565b620001ec7fe2b7fb3b832174769106daebcfd6d1970523240dda11281102db9363b83b0dc48362000269565b600680546001600160a01b0319166001600160a01b039290921691909117905550620005219050565b600060208351101562000235576200022d836200030e565b905062000263565b826200024c836200035a60201b620010131760201c565b81516200025d92602001906200035d565b5060ff90505b92915050565b60008281526002602090815260408083206001600160a01b038516845290915290205460ff166200030a5760008281526002602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620002c93390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b600080829050601f8151111562000345578260405163305a27a960e01b81526004016200033c91906200046a565b60405180910390fd5b80516200035282620004c2565b179392505050565b90565b8280546200036b90620004ea565b90600052602060002090601f0160209004810192826200038f5760008555620003da565b82601f10620003aa57805160ff1916838001178555620003da565b82800160010185558215620003da579182015b82811115620003da578251825591602001919060010190620003bd565b50620003e8929150620003ec565b5090565b5b80821115620003e85760008155600101620003ed565b80516001600160a01b03811681146200041b57600080fd5b919050565b6000806000606084860312156200043657600080fd5b620004418462000403565b9250620004516020850162000403565b9150620004616040850162000403565b90509250925092565b600060208083528351808285015260005b8181101562000499578581018301518582016040015282016200047b565b81811115620004ac576000604083870101525b50601f01601f1916929092016040019392505050565b80516020808301519190811015620004e4576000198160200360031b1b821691505b50919050565b600181811c90821680620004ff57607f821691505b60208210811415620004e457634e487b7160e01b600052602260045260246000fd5b60805160a05160c05160e0516101005161012051610140516130936200057c6000396000610cc301526000610c99015260006123e0015260006123b8015260006123130152600061233d0152600061236701526130936000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c8063820030f211610104578063b9c12b01116100a2578063e22b155211610071578063e22b155214610465578063e86079e81461047f578063e94938a614610492578063f99448c7146104b857600080fd5b8063b9c12b01146103c6578063cea9d26f146103d9578063d1e16bfa146103ec578063d547741f1461045257600080fd5b806391d14854116100de57806391d148541461038357806392649c5014610396578063926d7d7f146103a9578063a217fddf146103be57600080fd5b8063820030f21461033d5780638456cb591461036057806384b0196e1461036857600080fd5b806335b2adf91161017157806340f4483b1161014b57806340f4483b146102d45780634a50bb4e146102f45780635c975abb1461030757806366ece09a1461031257600080fd5b806335b2adf9146102a657806336568abe146102b95780633f4ba83a146102cc57600080fd5b806321ef5f8b116101ad57806321ef5f8b14610248578063248a9ca31461025d57806325be0be1146102805780632f2ff15d1461029357600080fd5b806301ffc9a7146101d4578063176b2bfb146101fc5780632132340014610227575b600080fd5b6101e76101e236600461289b565b6104cb565b60405190151581526020015b60405180910390f35b60065461020f906001600160a01b031681565b6040516001600160a01b0390911681526020016101f3565b61023a6102353660046128de565b610502565b6040519081526020016101f3565b61025b610256366004612937565b61052c565b005b61023a61026b366004612952565b60009081526002602052604090206001015490565b61025b61028e366004612937565b610588565b61025b6102a136600461296b565b61060d565b61025b6102b43660046129ea565b610637565b61025b6102c736600461296b565b610bc2565b61025b610c41565b61023a6102e2366004612952565b60009081526005602052604090205490565b61023a6103023660046128de565b610c57565b60035460ff166101e7565b6101e7610320366004612952565b600090815260056020526040902060020154610100900460ff1690565b61023a61034b366004612952565b60009081526005602052604090206001015490565b61025b610c78565b610370610c8b565b6040516101f39796959493929190612abd565b6101e761039136600461296b565b610d13565b61025b6103a4366004612937565b610d3e565b61023a60008051602061303e83398151915281565b61023a600081565b61025b6103d4366004612b53565b610d88565b61025b6103e7366004612b75565b610df8565b6104276103fa366004612952565b60056020526000908152604090208054600182015460029092015490919060ff8082169161010090041684565b6040516101f39493929190938452602084019290925260ff1660408301521515606082015260800190565b61025b61046036600461296b565b610e81565b61046d600881565b60405160ff90911681526020016101f3565b61025b61048d366004612bb1565b610ea6565b61046d6104a0366004612952565b60009081526005602052604090206002015460ff1690565b61025b6104c6366004612b53565b610f78565b60006001600160e01b03198216637965db0b60e01b14806104fc57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60008060008061051185611016565b92509250925061052385848484611063565b95945050505050565b600061053781611181565b61054f60008051602061303e83398151915283610d13565b61056c5760405163fcc8eeb360e01b815260040160405180910390fd5b61058460008051602061303e8339815191528361118b565b5050565b600061059381611181565b6001600160a01b0382166105ba57604051636f4df31160e01b815260040160405180910390fd5b600680546001600160a01b038481166001600160a01b0319831681179093556040519116919082907fcfb67368e4345be223f62e5066c5aab5ad5f1c41f35b05b7b080dc807decabc790600090a3505050565b60008281526002602052604090206001015461062881611181565b61063283836111f2565b505050565b61063f611278565b6106476112c0565b60006106596040860160208701612937565b6001600160a01b03161480610683575060006106786020860186612937565b6001600160a01b0316145b156106a157604051636f4df31160e01b815260040160405180910390fd5b60ff81166106c25760405163bec060dd60e01b815260040160405180910390fd5b6000806106ce8661131a565b60008281526005602090815260409091209294509092506106fc906106f590890189612937565b8286611355565b61071461070c6020890189612937565b8388886113cf565b8660a001354211156107395760405163da023c0b60e01b815260040160405180910390fd5b6107496080880160608901612c1a565b60ff16158061076c57506107636080880160608901612c1a565b60ff168460ff16115b1561078a5760405163bec060dd60e01b815260040160405180910390fd5b61079a6080880160608901612c1a565b60ff166107ab610100890189612c35565b9050146107cb5760405163e4bb86d560e01b815260040160405180910390fd5b60015b6107dc610100890189612c35565b905081101561088f576107f3610100890189612c35565b6107fe600184612c95565b81811061080d5761080d612cac565b90506020020160208101906108229190612cc2565b63ffffffff166108366101008a018a612c35565b8381811061084657610846612cac565b905060200201602081019061085b9190612cc2565b63ffffffff161161087f5760405163e4bb86d560e01b815260040160405180910390fd5b61088881612ce8565b90506107ce565b5061089e610100880188612c35565b6108a9600187612d03565b60ff168181106108bb576108bb612cac565b90506020020160208101906108d09190612cc2565b63ffffffff164210156108f65760405163b39d270960e01b815260040160405180910390fd5b6108ff8761142d565b61090881611500565b610922818561091d60e08b0160c08c01612d34565b61152b565b61092c818561156b565b600061093c610120890189612d51565b158015915061094e57508460ff166001145b9050600061097b8261096d576109686101408b018b612d51565b611593565b6109686101208b018b612d51565b9050600061098f60608b0160408c01612d9a565b6109a2906001600160801b031683612dc3565b90506109be84886109b960e08e0160c08f01612d34565b6115f5565b60006109d060408c0160208d01612937565b90506000600660009054906101000a90046001600160a01b031690506000610a0b838e6000016020810190610a059190612937565b8661161f565b9050610a18838387611777565b8515610a5057610a4b828e6020016020810190610a359190612937565b8f806101200190610a469190612d51565b6117da565b610a78565b610a78828e6020016020810190610a679190612937565b8f806101400190610a469190612d51565b610a9d838e6040016020810190610a8f9190612d9a565b6001600160801b0316611905565b6040516370a0823160e01b815230600482015281906001600160a01b038516906370a082319060240160206040518083038186803b158015610ade57600080fd5b505afa158015610af2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b169190612ddb565b14610b345760405163e118041960e01b815260040160405180910390fd5b610b4160208e018e612937565b6001600160a01b0316897fca17c68cbe212e978183435ff7a0323fd9c66cf81d539b13c4b20a884aaf7f998f6020016020810190610b7f9190612937565b604080516001600160a01b03909216825260ff8f166020830152810188905260600160405180910390a3505050505050505050610bbc6001600455565b50505050565b6001600160a01b0381163314610c375760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b610584828261118b565b6000610c4c81611181565b610c5461193f565b50565b600080600080610c6685611016565b92509250925061052385848484611991565b6000610c8381611181565b610c54611a84565b600060608082808083610cbe7f000000000000000000000000000000000000000000000000000000000000000083611ac1565b610ce97f00000000000000000000000000000000000000000000000000000000000000006001611ac1565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b60009182526002602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6000610d4981611181565b6001600160a01b038216610d7057604051636f4df31160e01b815260040160405180910390fd5b61058460008051602061303e833981519152836111f2565b60008051602061303e833981519152610da081611181565b600083815260056020526040908190206001018054841790555183907f7c09772004c5ce10c626c33ded2e9ed4acd190d996d3d79560260956e0657a8190610deb9085815260200190565b60405180910390a2505050565b6000610e0381611181565b610e0b6112c0565b6001600160a01b0384161580610e2857506001600160a01b038316155b15610e4657604051636f4df31160e01b815260040160405180910390fd5b610e5a6001600160a01b0385168484611b65565b610e7757604051637ac428f560e01b815260040160405180910390fd5b610bbc6001600455565b600082815260026020526040902060010154610e9c81611181565b610632838361118b565b610ebb610eb66020850185612937565b611c2e565b600080610ec78561131a565b9092509050610ed96020860186612937565b6001600160a01b0316336001600160a01b031614610f0957610f09610f016020870187612937565b8286866113cf565b6000828152600560205260409020610f2d90600201805461ff001916610100179055565b33610f3b6020870187612937565b6001600160a01b0316837f31f292e8b071ed61611a1311cc2b9df7eeaca98a03827660512a7f87c5d9e92460405160405180910390a45050505050565b60008051602061303e833981519152610f9081611181565b60008381526005602052604090819020600101805484191690555183907fe573bb4310d54b17ab95302d025743411a5f51a11b380dfbca4c253f9f5239a690610deb9085815260200190565b6000602083511015610ff857610ff183611c57565b90506104fc565b828281516110099260200190612802565b5060ff90506104fc565b90565b6000808061103061102b610100860186612c35565b611c95565b9250611048611043610120860186612d51565b611d76565b915061105b611043610140860186612d51565b929491935050565b6000807fdfcc6e90a559b96626df6ec14f47efa108fdae7ee413cce28e5f3fc950797e5e6110946020880188612937565b6110a46040890160208a01612937565b6110b460608a0160408b01612d9a565b6110c460808b0160608c01612c1a565b60808b013560a08c01356110de60e08e0160c08f01612d34565b6040805160208101999099526001600160a01b03978816908901529590941660608701526001600160801b03909216608086015260ff1660a085015260c084015260e0838101919091529015156101008301528701356101208201526101408101869052610160810185905261018081018490526101a00160405160208183030381529060405280519060200120905061117781611e16565b9695505050505050565b610c548133611e43565b6111958282610d13565b156105845760008281526002602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6111fc8282610d13565b6105845760008281526002602090815260408083206001600160a01b03851684529091529020805460ff191660011790556112343390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60035460ff16156112be5760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610c2e565b565b600260045414156113135760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610c2e565b6002600455565b600080600080600061132b86611016565b92509250925061133d86848484611991565b945061134b86848484611063565b9350505050915091565b61136d60008051602061303e83398151915233610d13565b1561137757505050565b336001600160a01b038416146113a057604051637768888b60e11b815260040160405180910390fd5b8060ff166001901b8260010154166000141561063257604051633412526560e21b815260040160405180910390fd5b611410848484848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611e9c92505050565b610bbc57604051636ad27af560e11b815260040160405180910390fd5b600861143d610120830183612d51565b9050118061145a57506008611456610140830183612d51565b9050115b156114785760405163064b1f2f60e51b815260040160405180910390fd5b611486610120820182612d51565b1590506114a3576114a361149e610120830183612d51565b611ef3565b6114b1610140820182612d51565b15159050806114d2575060016114cd6080830160608401612c1a565b60ff16115b806114ea57506114e6610120820182612d51565b1590505b15610c5457610c5461149e610140830183612d51565b6002810154610100900460ff1615610c545760405163bb65adbd60e01b815260040160405180910390fd5b80801561154d575060028301546115469060ff166001612dc3565b8260ff1614155b156106325760405163061235ef60e01b815260040160405180910390fd5b8154600160ff83161b16156105845760405163544db32b60e01b815260040160405180910390fd5b6000805b828110156115ee578383828181106115b1576115b1612cac565b90506060020160200160208101906115c99190612d9a565b6115dc906001600160801b031683612dc3565b91506115e781612ce8565b9050611597565b5092915050565b8254600160ff84161b17835580156106325760028301805460ff841660ff19909116179055505050565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a082319060240160206040518083038186803b15801561166157600080fd5b505afa158015611675573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116999190612ddb565b90506116b06001600160a01b038516843085612071565b6116cd57604051637ac428f560e01b815260040160405180910390fd5b6040516370a0823160e01b8152306004820152829082906001600160a01b038716906370a082319060240160206040518083038186803b15801561171057600080fd5b505afa158015611724573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117489190612ddb565b6117529190612c95565b1461177057604051633fb49be560e01b815260040160405180910390fd5b9392505050565b61178c6001600160a01b03841683600061214d565b6117a957604051637ac428f560e01b815260040160405180910390fd5b6117bd6001600160a01b038416838361214d565b61063257604051637ac428f560e01b815260040160405180910390fd5b60005b818110156118fe57846001600160a01b031663c219a14d8585858581811061180757611807612cac565b61181d9260206060909202019081019150612937565b86868681811061182f5761182f612cac565b90506060020160200160208101906118479190612d9a565b87878781811061185957611859612cac565b90506060020160400160208101906118719190612e0a565b6040516001600160c01b031990911660208201526028016040516020818303038152906040526000806040518763ffffffff1660e01b81526004016118bb96959493929190612e34565b600060405180830381600087803b1580156118d557600080fd5b505af11580156118e9573d6000803e3d6000fd5b50505050806118f790612ce8565b90506117dd565b5050505050565b8061190e575050565b6119226001600160a01b0383163383611b65565b61058457604051637ac428f560e01b815260040160405180910390fd5b6119476121aa565b6003805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600060e08501356119b55760405163de734e8160e01b815260040160405180910390fd5b6119c26020860186612937565b60e08601356119d76040880160208901612937565b6119e76060890160408a01612d9a565b6119f760808a0160608b01612c1a565b611a0760e08b0160c08c01612d34565b604080516001600160a01b039788166020820152908101959095529490921660608401526001600160801b0316608083015260ff1660a082015290151560c082015260e081018590526101008101849052610120810183905261014001604051602081830303815290604052805190602001209050949350505050565b611a8c611278565b6003805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586119743390565b606060ff8314611ad457610ff1836121f3565b818054611ae090612e88565b80601f0160208091040260200160405190810160405280929190818152602001828054611b0c90612e88565b8015611b595780601f10611b2e57610100808354040283529160200191611b59565b820191906000526020600020905b815481529060010190602001808311611b3c57829003601f168201915b505050505090506104fc565b6040516001600160a01b03838116602483015260448201839052600091829182919087169060640160408051601f198184030181529181526020820180516001600160e01b031663a9059cbb60e01b17905251611bc29190612ebd565b6000604051808303816000865af19150503d8060008114611bff576040519150601f19603f3d011682016040523d82523d6000602084013e611c04565b606091505b50915091508180156111775750805115806111775750808060200190518101906111779190612ed9565b611c4660008051602061303e83398151915233610d13565b15611c4e5750565b610c5481612232565b600080829050601f81511115611c82578260405163305a27a960e01b8152600401610c2e9190612ef6565b8051611c8d82612f09565b179392505050565b6000808267ffffffffffffffff811115611cb157611cb1612df4565b604051908082528060200260200182016040528015611cda578160200160208202803683370190505b50905060005b83811015611d4557848482818110611cfa57611cfa612cac565b9050602002016020810190611d0f9190612cc2565b63ffffffff1660001b828281518110611d2a57611d2a612cac565b6020908102919091010152611d3e81612ce8565b9050611ce0565b5080604051602001611d579190612f2d565b6040516020818303038152906040528051906020012091505092915050565b6000808267ffffffffffffffff811115611d9257611d92612df4565b604051908082528060200260200182016040528015611dbb578160200160208202803683370190505b50905060005b83811015611d4557611de9858583818110611dde57611dde612cac565b90506060020161225b565b828281518110611dfb57611dfb612cac565b6020908102919091010152611e0f81612ce8565b9050611dc1565b60006104fc611e23612306565b8360405161190160f01b8152600281019290925260228201526042902090565b611e4d8282610d13565b61058457611e5a81612436565b611e65836020612448565b604051602001611e76929190612f63565b60408051601f198184030181529082905262461bcd60e51b8252610c2e91600401612ef6565b6000806000611eab85856125e4565b90925090506000816004811115611ec457611ec4612fd8565b148015611ee25750856001600160a01b0316826001600160a01b0316145b80611177575061117786868661262a565b80611f1157604051633030275f60e11b815260040160405180910390fd5b60005b81811015610632576000838383818110611f3057611f30612cac565b611f469260206060909202019081019150612937565b6001600160a01b03161415611f6e57604051636f4df31160e01b815260040160405180910390fd5b828282818110611f8057611f80612cac565b9050606002016020016020810190611f989190612d9a565b6001600160801b0316611fbe57604051637313901b60e11b815260040160405180910390fd5b60005b8181101561206057838382818110611fdb57611fdb612cac565b9050606002016040016020810190611ff39190612e0a565b6001600160c01b03191684848481811061200f5761200f612cac565b90506060020160400160208101906120279190612e0a565b6001600160c01b03191614156120505760405163630c1b5d60e11b815260040160405180910390fd5b61205981612ce8565b9050611fc1565b5061206a81612ce8565b9050611f14565b6040516001600160a01b038481166024830152838116604483015260648201839052600091829182919088169060840160408051601f198184030181529181526020820180516001600160e01b03166323b872dd60e01b179052516120d69190612ebd565b6000604051808303816000865af19150503d8060008114612113576040519150601f19603f3d011682016040523d82523d6000602084013e612118565b606091505b50915091508180156121425750805115806121425750808060200190518101906121429190612ed9565b979650505050505050565b6040516001600160a01b03838116602483015260448201839052600091829182919087169060640160408051601f198184030181529181526020820180516001600160e01b031663095ea7b360e01b17905251611bc29190612ebd565b60035460ff166112be5760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610c2e565b6060600061220083612716565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b336001600160a01b03821614610c5457604051637768888b60e11b815260040160405180910390fd5b60007f2bd7d05f9b7f8d539e37d65aa77d5ff63850852240ce10c873e88e8b5171eeb861228b6020840184612937565b61229b6040850160208601612d9a565b6122ab6060860160408701612e0a565b6040805160208101959095526001600160a01b03909316928401929092526001600160801b031660608301526001600160c01b031916608082015260a001604051602081830303815290604052805190602001209050919050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561235f57507f000000000000000000000000000000000000000000000000000000000000000046145b1561238957507f000000000000000000000000000000000000000000000000000000000000000090565b612431604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b905090565b60606104fc6001600160a01b03831660145b60606000612457836002612fee565b612462906002612dc3565b67ffffffffffffffff81111561247a5761247a612df4565b6040519080825280601f01601f1916602001820160405280156124a4576020820181803683370190505b509050600360fc1b816000815181106124bf576124bf612cac565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106124ee576124ee612cac565b60200101906001600160f81b031916908160001a9053506000612512846002612fee565b61251d906001612dc3565b90505b6001811115612595576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061255157612551612cac565b1a60f81b82828151811061256757612567612cac565b60200101906001600160f81b031916908160001a90535060049490941c9361258e8161300d565b9050612520565b5083156117705760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610c2e565b60008082516041141561261b5760208301516040840151606085015160001a61260f8782858561273e565b94509450505050612623565b506000905060025b9250929050565b6000806000856001600160a01b0316631626ba7e60e01b8686604051602401612654929190613024565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516126929190612ebd565b600060405180830381855afa9150503d80600081146126cd576040519150601f19603f3d011682016040523d82523d6000602084013e6126d2565b606091505b50915091508180156126e657506020815110155b801561117757508051630b135d3f60e11b9061270b9083016020908101908401612ddb565b149695505050505050565b600060ff8216601f8111156104fc57604051632cd44ac360e21b815260040160405180910390fd5b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561277557506000905060036127f9565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156127c9573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166127f2576000600192509250506127f9565b9150600090505b94509492505050565b82805461280e90612e88565b90600052602060002090601f0160209004810192826128305760008555612876565b82601f1061284957805160ff1916838001178555612876565b82800160010185558215612876579182015b8281111561287657825182559160200191906001019061285b565b50612882929150612886565b5090565b5b808211156128825760008155600101612887565b6000602082840312156128ad57600080fd5b81356001600160e01b03198116811461177057600080fd5b600061016082840312156128d857600080fd5b50919050565b6000602082840312156128f057600080fd5b813567ffffffffffffffff81111561290757600080fd5b612913848285016128c5565b949350505050565b80356001600160a01b038116811461293257600080fd5b919050565b60006020828403121561294957600080fd5b6117708261291b565b60006020828403121561296457600080fd5b5035919050565b6000806040838503121561297e57600080fd5b8235915061298e6020840161291b565b90509250929050565b60008083601f8401126129a957600080fd5b50813567ffffffffffffffff8111156129c157600080fd5b60208301915083602082850101111561262357600080fd5b803560ff8116811461293257600080fd5b60008060008060608587031215612a0057600080fd5b843567ffffffffffffffff80821115612a1857600080fd5b612a24888389016128c5565b95506020870135915080821115612a3a57600080fd5b50612a4787828801612997565b9094509250612a5a9050604086016129d9565b905092959194509250565b60005b83811015612a80578181015183820152602001612a68565b83811115610bbc5750506000910152565b60008151808452612aa9816020860160208601612a65565b601f01601f19169290920160200192915050565b60ff60f81b881681526000602060e081840152612add60e084018a612a91565b8381036040850152612aef818a612a91565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b81811015612b4157835183529284019291840191600101612b25565b50909c9b505050505050505050505050565b60008060408385031215612b6657600080fd5b50508035926020909101359150565b600080600060608486031215612b8a57600080fd5b612b938461291b565b9250612ba16020850161291b565b9150604084013590509250925092565b600080600060408486031215612bc657600080fd5b833567ffffffffffffffff80821115612bde57600080fd5b612bea878388016128c5565b94506020860135915080821115612c0057600080fd5b50612c0d86828701612997565b9497909650939450505050565b600060208284031215612c2c57600080fd5b611770826129d9565b6000808335601e19843603018112612c4c57600080fd5b83018035915067ffffffffffffffff821115612c6757600080fd5b6020019150600581901b360382131561262357600080fd5b634e487b7160e01b600052601160045260246000fd5b600082821015612ca757612ca7612c7f565b500390565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612cd457600080fd5b813563ffffffff8116811461177057600080fd5b6000600019821415612cfc57612cfc612c7f565b5060010190565b600060ff821660ff841680821015612d1d57612d1d612c7f565b90039392505050565b8015158114610c5457600080fd5b600060208284031215612d4657600080fd5b813561177081612d26565b6000808335601e19843603018112612d6857600080fd5b83018035915067ffffffffffffffff821115612d8357600080fd5b602001915060608102360382131561262357600080fd5b600060208284031215612dac57600080fd5b81356001600160801b038116811461177057600080fd5b60008219821115612dd657612dd6612c7f565b500190565b600060208284031215612ded57600080fd5b5051919050565b634e487b7160e01b600052604160045260246000fd5b600060208284031215612e1c57600080fd5b81356001600160c01b03198116811461177057600080fd5b600060018060a01b03808916835280881660208401526001600160801b038716604084015260c06060840152612e6d60c0840187612a91565b60808401959095529290921660a09091015250949350505050565b600181811c90821680612e9c57607f821691505b602082108114156128d857634e487b7160e01b600052602260045260246000fd5b60008251612ecf818460208701612a65565b9190910192915050565b600060208284031215612eeb57600080fd5b815161177081612d26565b6020815260006117706020830184612a91565b805160208083015191908110156128d85760001960209190910360031b1b16919050565b815160009082906020808601845b83811015612f5757815185529382019390820190600101612f3b565b50929695505050505050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351612f9b816017850160208801612a65565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351612fcc816028840160208801612a65565b01602801949350505050565b634e487b7160e01b600052602160045260246000fd5b600081600019048311821515161561300857613008612c7f565b500290565b60008161301c5761301c612c7f565b506000190190565b8281526040602082015260006129136040830184612a9156fee2b7fb3b832174769106daebcfd6d1970523240dda11281102db9363b83b0dc4a2646970667358221220e07abc069ebc87b45626454bb519e9b1325be8ebd6c0846fdfda79c1845b2c0c64736f6c63430008090033";
636
1263
  const isSuperArgs = (xs) => xs.length > 1;
637
1264
  class ERC20RecurringPaymentProxy__factory extends ethers_1.ContractFactory {
638
1265
  constructor(...args) {