@superfluid-finance/ethereum-contracts 1.4.4-dev.6fe5c4b.0 → 1.4.4-dev.900d7ba.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 (146) hide show
  1. package/artifacts/contracts/utils/TOGA.sol/ITOGAv3.json +194 -0
  2. package/artifacts/contracts/utils/TOGA.sol/TOGA.json +2 -33
  3. package/build/contracts/AccessControl.json +1 -1
  4. package/build/contracts/AccessControlEnumerable.json +1 -1
  5. package/build/contracts/Address.json +1 -1
  6. package/build/contracts/AgreementBase.json +1 -1
  7. package/build/contracts/AgreementLibrary.json +1 -1
  8. package/build/contracts/BaseRelayRecipient.json +1 -1
  9. package/build/contracts/BatchLiquidator.json +723 -723
  10. package/build/contracts/BatchOperation.json +1 -1
  11. package/build/contracts/CFAv1Forwarder.json +2050 -2050
  12. package/build/contracts/CFAv1Library.json +1 -1
  13. package/build/contracts/CallUtils.json +1 -1
  14. package/build/contracts/ClosingOnUpdateFlowTestApp.json +1566 -1566
  15. package/build/contracts/ConstantFlowAgreementV1.json +4582 -4582
  16. package/build/contracts/Context.json +1 -1
  17. package/build/contracts/ContextDefinitions.json +1 -1
  18. package/build/contracts/CustomSuperTokenBase.json +1 -1
  19. package/build/contracts/ERC165.json +1 -1
  20. package/build/contracts/ERC1820Implementer.json +79 -79
  21. package/build/contracts/ERC1820RegistryCompiled.json +1 -1
  22. package/build/contracts/ERC20.json +1289 -1289
  23. package/build/contracts/ERC20WithTokenInfo.json +1 -1
  24. package/build/contracts/ERC777Helper.json +1 -1
  25. package/build/contracts/ERC777RecipientDrainingGas.json +350 -350
  26. package/build/contracts/ERC777RecipientReverting.json +373 -373
  27. package/build/contracts/EnumerableSet.json +1 -1
  28. package/build/contracts/EventsEmitter.json +1 -1
  29. package/build/contracts/ExclusiveInflowTestApp.json +1594 -1594
  30. package/build/contracts/FixedSizeData.json +1 -1
  31. package/build/contracts/FlowExchangeTestApp.json +1704 -1704
  32. package/build/contracts/FlowOperatorDefinitions.json +1 -1
  33. package/build/contracts/FullUpgradableSuperTokenProxy.json +74 -74
  34. package/build/contracts/IAccessControl.json +1 -1
  35. package/build/contracts/IAccessControlEnumerable.json +1 -1
  36. package/build/contracts/IConstantFlowAgreementHook.json +1 -1
  37. package/build/contracts/IConstantFlowAgreementV1.json +1 -1
  38. package/build/contracts/IDAv1Library.json +1 -1
  39. package/build/contracts/IERC165.json +1 -1
  40. package/build/contracts/IERC1820Implementer.json +1 -1
  41. package/build/contracts/IERC1820Registry.json +1 -1
  42. package/build/contracts/IERC20.json +1 -1
  43. package/build/contracts/IERC20Metadata.json +1 -1
  44. package/build/contracts/IERC20Permit.json +1 -1
  45. package/build/contracts/IERC777.json +1 -1
  46. package/build/contracts/IERC777Recipient.json +1 -1
  47. package/build/contracts/IERC777Sender.json +1 -1
  48. package/build/contracts/IInstantDistributionAgreementV1.json +1 -1
  49. package/build/contracts/IMultiSigWallet.json +1 -1
  50. package/build/contracts/IPureSuperToken.json +1 -1
  51. package/build/contracts/IPureSuperTokenCustom.json +1 -1
  52. package/build/contracts/IRelayRecipient.json +1 -1
  53. package/build/contracts/IResolver.json +1 -1
  54. package/build/contracts/ISETH.json +1 -1
  55. package/build/contracts/ISETHCustom.json +1 -1
  56. package/build/contracts/ISuperAgreement.json +1 -1
  57. package/build/contracts/ISuperApp.json +1 -1
  58. package/build/contracts/ISuperToken.json +1 -1
  59. package/build/contracts/ISuperTokenFactory.json +1 -1
  60. package/build/contracts/ISuperfluid.json +1 -1
  61. package/build/contracts/ISuperfluidGovernance.json +1 -1
  62. package/build/contracts/ISuperfluidToken.json +1 -1
  63. package/build/contracts/ITOGAv1.json +2099 -2898
  64. package/build/contracts/ITOGAv2.json +2098 -2897
  65. package/build/contracts/ITOGAv3.json +10990 -0
  66. package/build/contracts/Initializable.json +1 -1
  67. package/build/contracts/InstantDistributionAgreementV1.json +5077 -5077
  68. package/build/contracts/NonClosableOutflowTestApp.json +1469 -1469
  69. package/build/contracts/Ownable.json +1 -1
  70. package/build/contracts/Proxy.json +1 -1
  71. package/build/contracts/PureSuperToken.json +534 -534
  72. package/build/contracts/Resolver.json +885 -885
  73. package/build/contracts/SETHProxy.json +293 -293
  74. package/build/contracts/SafeCast.json +1 -1
  75. package/build/contracts/SafeERC20.json +1 -1
  76. package/build/contracts/SafeMath.json +1 -1
  77. package/build/contracts/SelfDeletingFlowTestApp.json +1566 -1566
  78. package/build/contracts/SlotsBitmapLibrary.json +971 -971
  79. package/build/contracts/StreamRedirector.json +1956 -1956
  80. package/build/contracts/Strings.json +1 -1
  81. package/build/contracts/SuperAppBase.json +1 -1
  82. package/build/contracts/SuperAppDefinitions.json +1 -1
  83. package/build/contracts/SuperToken.json +4575 -4575
  84. package/build/contracts/SuperTokenFactory.json +1753 -1753
  85. package/build/contracts/SuperTokenFactoryBase.json +1 -1
  86. package/build/contracts/SuperTokenFactoryHelper.json +104 -104
  87. package/build/contracts/SuperUpgrader.json +1718 -1718
  88. package/build/contracts/Superfluid.json +4566 -4566
  89. package/build/contracts/SuperfluidFrameworkDeployer.json +2400 -2400
  90. package/build/contracts/SuperfluidGovernanceBase.json +1 -1
  91. package/build/contracts/SuperfluidGovernanceConfigs.json +1 -1
  92. package/build/contracts/SuperfluidGovernanceII.json +2438 -2438
  93. package/build/contracts/SuperfluidGovernanceIIProxy.json +211 -211
  94. package/build/contracts/SuperfluidLoader.json +500 -500
  95. package/build/contracts/SuperfluidToken.json +1 -1
  96. package/build/contracts/TOGA.json +4255 -6226
  97. package/build/contracts/TestGovernance.json +2494 -2494
  98. package/build/contracts/TestResolver.json +964 -964
  99. package/build/contracts/TestToken.json +1478 -1478
  100. package/build/contracts/TokenInfo.json +1 -1
  101. package/build/contracts/UUPSProxiable.json +1 -1
  102. package/build/contracts/UUPSProxy.json +116 -116
  103. package/build/contracts/UUPSUtils.json +1 -1
  104. package/build/typechain/contracts/utils/TOGA.sol/ITOGAv3.d.ts +158 -0
  105. package/build/typechain/contracts/utils/TOGA.sol/ITOGAv3.d.ts.map +1 -0
  106. package/build/typechain/contracts/utils/{TokenCustodian.js → TOGA.sol/ITOGAv3.js} +1 -1
  107. package/build/typechain/contracts/utils/TOGA.sol/ITOGAv3.js.map +1 -0
  108. package/build/typechain/contracts/utils/TOGA.sol/TOGA.d.ts +1 -25
  109. package/build/typechain/contracts/utils/TOGA.sol/TOGA.d.ts.map +1 -1
  110. package/build/typechain/contracts/utils/TOGA.sol/index.d.ts +1 -0
  111. package/build/typechain/contracts/utils/TOGA.sol/index.d.ts.map +1 -1
  112. package/build/typechain/contracts/utils/index.d.ts +0 -1
  113. package/build/typechain/contracts/utils/index.d.ts.map +1 -1
  114. package/build/typechain/factories/contracts/utils/TOGA.sol/ITOGAv3__factory.d.ts +36 -0
  115. package/build/typechain/factories/contracts/utils/TOGA.sol/ITOGAv3__factory.d.ts.map +1 -0
  116. package/build/typechain/factories/contracts/utils/TOGA.sol/ITOGAv3__factory.js +203 -0
  117. package/build/typechain/factories/contracts/utils/TOGA.sol/ITOGAv3__factory.js.map +1 -0
  118. package/build/typechain/factories/contracts/utils/TOGA.sol/TOGA__factory.d.ts +3 -3
  119. package/build/typechain/factories/contracts/utils/TOGA.sol/TOGA__factory.d.ts.map +1 -1
  120. package/build/typechain/factories/contracts/utils/TOGA.sol/TOGA__factory.js +5 -36
  121. package/build/typechain/factories/contracts/utils/TOGA.sol/TOGA__factory.js.map +1 -1
  122. package/build/typechain/factories/contracts/utils/TOGA.sol/index.d.ts +1 -0
  123. package/build/typechain/factories/contracts/utils/TOGA.sol/index.d.ts.map +1 -1
  124. package/build/typechain/factories/contracts/utils/TOGA.sol/index.js +3 -1
  125. package/build/typechain/factories/contracts/utils/TOGA.sol/index.js.map +1 -1
  126. package/build/typechain/factories/contracts/utils/index.d.ts +0 -1
  127. package/build/typechain/factories/contracts/utils/index.d.ts.map +1 -1
  128. package/build/typechain/factories/contracts/utils/index.js +1 -3
  129. package/build/typechain/factories/contracts/utils/index.js.map +1 -1
  130. package/build/typechain/index.d.ts +2 -2
  131. package/build/typechain/index.d.ts.map +1 -1
  132. package/build/typechain/index.js +3 -3
  133. package/build/typechain/index.js.map +1 -1
  134. package/contracts/utils/TOGA.sol +16 -28
  135. package/package.json +2 -2
  136. package/scripts/deploy-aux-contracts.js +1 -5
  137. package/artifacts/contracts/utils/TokenCustodian.sol/TokenCustodian.json +0 -146
  138. package/build/contracts/TokenCustodian.json +0 -5052
  139. package/build/typechain/contracts/utils/TokenCustodian.d.ts +0 -114
  140. package/build/typechain/contracts/utils/TokenCustodian.d.ts.map +0 -1
  141. package/build/typechain/contracts/utils/TokenCustodian.js.map +0 -1
  142. package/build/typechain/factories/contracts/utils/TokenCustodian__factory.d.ts +0 -56
  143. package/build/typechain/factories/contracts/utils/TokenCustodian__factory.d.ts.map +0 -1
  144. package/build/typechain/factories/contracts/utils/TokenCustodian__factory.js +0 -178
  145. package/build/typechain/factories/contracts/utils/TokenCustodian__factory.js.map +0 -1
  146. package/contracts/utils/TokenCustodian.sol +0 -55
@@ -0,0 +1,194 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "ITOGAv3",
4
+ "sourceName": "contracts/utils/TOGA.sol",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": true,
11
+ "internalType": "contract ISuperToken",
12
+ "name": "token",
13
+ "type": "address"
14
+ },
15
+ {
16
+ "indexed": false,
17
+ "internalType": "uint256",
18
+ "name": "additionalBond",
19
+ "type": "uint256"
20
+ }
21
+ ],
22
+ "name": "BondIncreased",
23
+ "type": "event"
24
+ },
25
+ {
26
+ "anonymous": false,
27
+ "inputs": [
28
+ {
29
+ "indexed": true,
30
+ "internalType": "contract ISuperToken",
31
+ "name": "token",
32
+ "type": "address"
33
+ },
34
+ {
35
+ "indexed": false,
36
+ "internalType": "int96",
37
+ "name": "exitRate",
38
+ "type": "int96"
39
+ }
40
+ ],
41
+ "name": "ExitRateChanged",
42
+ "type": "event"
43
+ },
44
+ {
45
+ "anonymous": false,
46
+ "inputs": [
47
+ {
48
+ "indexed": true,
49
+ "internalType": "contract ISuperToken",
50
+ "name": "token",
51
+ "type": "address"
52
+ },
53
+ {
54
+ "indexed": false,
55
+ "internalType": "address",
56
+ "name": "pic",
57
+ "type": "address"
58
+ },
59
+ {
60
+ "indexed": false,
61
+ "internalType": "uint256",
62
+ "name": "bond",
63
+ "type": "uint256"
64
+ },
65
+ {
66
+ "indexed": false,
67
+ "internalType": "int96",
68
+ "name": "exitRate",
69
+ "type": "int96"
70
+ }
71
+ ],
72
+ "name": "NewPIC",
73
+ "type": "event"
74
+ },
75
+ {
76
+ "inputs": [
77
+ {
78
+ "internalType": "contract ISuperToken",
79
+ "name": "token",
80
+ "type": "address"
81
+ },
82
+ {
83
+ "internalType": "int96",
84
+ "name": "newExitRate",
85
+ "type": "int96"
86
+ }
87
+ ],
88
+ "name": "changeExitRate",
89
+ "outputs": [],
90
+ "stateMutability": "nonpayable",
91
+ "type": "function"
92
+ },
93
+ {
94
+ "inputs": [
95
+ {
96
+ "internalType": "contract ISuperToken",
97
+ "name": "token",
98
+ "type": "address"
99
+ }
100
+ ],
101
+ "name": "getCurrentPIC",
102
+ "outputs": [
103
+ {
104
+ "internalType": "address",
105
+ "name": "pic",
106
+ "type": "address"
107
+ }
108
+ ],
109
+ "stateMutability": "view",
110
+ "type": "function"
111
+ },
112
+ {
113
+ "inputs": [
114
+ {
115
+ "internalType": "contract ISuperToken",
116
+ "name": "token",
117
+ "type": "address"
118
+ }
119
+ ],
120
+ "name": "getCurrentPICInfo",
121
+ "outputs": [
122
+ {
123
+ "internalType": "address",
124
+ "name": "pic",
125
+ "type": "address"
126
+ },
127
+ {
128
+ "internalType": "uint256",
129
+ "name": "bond",
130
+ "type": "uint256"
131
+ },
132
+ {
133
+ "internalType": "int96",
134
+ "name": "exitRate",
135
+ "type": "int96"
136
+ }
137
+ ],
138
+ "stateMutability": "view",
139
+ "type": "function"
140
+ },
141
+ {
142
+ "inputs": [
143
+ {
144
+ "internalType": "contract ISuperToken",
145
+ "name": "token",
146
+ "type": "address"
147
+ },
148
+ {
149
+ "internalType": "uint256",
150
+ "name": "bondAmount",
151
+ "type": "uint256"
152
+ }
153
+ ],
154
+ "name": "getDefaultExitRateFor",
155
+ "outputs": [
156
+ {
157
+ "internalType": "int96",
158
+ "name": "exitRate",
159
+ "type": "int96"
160
+ }
161
+ ],
162
+ "stateMutability": "view",
163
+ "type": "function"
164
+ },
165
+ {
166
+ "inputs": [
167
+ {
168
+ "internalType": "contract ISuperToken",
169
+ "name": "token",
170
+ "type": "address"
171
+ },
172
+ {
173
+ "internalType": "uint256",
174
+ "name": "bondAmount",
175
+ "type": "uint256"
176
+ }
177
+ ],
178
+ "name": "getMaxExitRateFor",
179
+ "outputs": [
180
+ {
181
+ "internalType": "int96",
182
+ "name": "exitRate",
183
+ "type": "int96"
184
+ }
185
+ ],
186
+ "stateMutability": "view",
187
+ "type": "function"
188
+ }
189
+ ],
190
+ "bytecode": "0x",
191
+ "deployedBytecode": "0x",
192
+ "linkReferences": {},
193
+ "deployedLinkReferences": {}
194
+ }
@@ -14,11 +14,6 @@
14
14
  "internalType": "uint256",
15
15
  "name": "minBondDuration_",
16
16
  "type": "uint256"
17
- },
18
- {
19
- "internalType": "contract TokenCustodian",
20
- "name": "custodian_",
21
- "type": "address"
22
17
  }
23
18
  ],
24
19
  "stateMutability": "nonpayable",
@@ -111,19 +106,6 @@
111
106
  "stateMutability": "nonpayable",
112
107
  "type": "function"
113
108
  },
114
- {
115
- "inputs": [],
116
- "name": "custodian",
117
- "outputs": [
118
- {
119
- "internalType": "contract TokenCustodian",
120
- "name": "",
121
- "type": "address"
122
- }
123
- ],
124
- "stateMutability": "view",
125
- "type": "function"
126
- },
127
109
  {
128
110
  "inputs": [
129
111
  {
@@ -270,23 +252,10 @@
270
252
  "outputs": [],
271
253
  "stateMutability": "nonpayable",
272
254
  "type": "function"
273
- },
274
- {
275
- "inputs": [
276
- {
277
- "internalType": "contract ISuperToken",
278
- "name": "token",
279
- "type": "address"
280
- }
281
- ],
282
- "name": "withdrawFundsInCustody",
283
- "outputs": [],
284
- "stateMutability": "nonpayable",
285
- "type": "function"
286
255
  }
287
256
  ],
288
- "bytecode": "0x60e06040523480156200001157600080fd5b5060405162001ab438038062001ab48339810160408190526200003491620003ba565b6001600160a01b038316608081905260c0839052604051635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd3600482015263b6d200de90602401602060405180830381865afa158015620000a2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000c8919062000402565b6001600160a01b031660a0526040516329965a1d60e01b815230600482018190527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b60248301819052604483019190915290731820a4b7618bde71dce8cdc73aab6c95905fad24906329965a1d90606401600060405180830381600087803b1580156200015457600080fd5b505af115801562000169573d6000803e3d6000fd5b50506040516329965a1d60e01b815230600482018190527fece6fc2bcfc93e4c34c28aeaa114be1a6161decb8268f79cbe7c3c7f31b1e8c660248301526044820152731820a4b7618bde71dce8cdc73aab6c95905fad2492506329965a1d9150606401600060405180830381600087803b158015620001e757600080fd5b505af1158015620001fc573d6000803e3d6000fd5b50506040516329965a1d60e01b815230600482018190527fca6323f8f0faf3d4f41f2397ee46c8d85bed576d54aadeb20b6cf7b45b3a696460248301526044820152731820a4b7618bde71dce8cdc73aab6c95905fad2492506329965a1d9150606401600060405180830381600087803b1580156200027a57600080fd5b505af11580156200028f573d6000803e3d6000fd5b505060405163555ddc6560e11b81526001600160a01b03851660048201819052602482018590529250731820a4b7618bde71dce8cdc73aab6c95905fad24915063aabbb8ca90604401602060405180830381865afa158015620002f6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200031c919062000402565b6001600160a01b031614620003775760405162461bcd60e51b815260206004820152601760248201527f544f47413a20696e76616c696420637573746f6469616e000000000000000000604482015260640160405180910390fd5b50600180546001600160a01b0319166001600160a01b039290921691909117905550620004299050565b6001600160a01b0381168114620003b757600080fd5b50565b600080600060608486031215620003d057600080fd5b8351620003dd81620003a1565b602085015160408601519194509250620003f781620003a1565b809150509250925092565b6000602082840312156200041557600080fd5b81516200042281620003a1565b9392505050565b60805160a05160c0516115f2620004c260003960008181610146015281816103190152818161077e0152818161083601526109d90152600081816103ba0152818161047b015281816105cb0152818161065a0152818161089e01528181610afa01528181610bbb0152610e00015260008181610451015281816105a10152818161063001528181610b910152610dd601526115f26000f3fe608060405234801561001057600080fd5b50600436106100925760003560e01c8063375b74c311610066578063375b74c31461012e57806360dfa695146101415780636da8d05414610176578063b8a1403314610189578063bf8903dd1461019c57600080fd5b806223de291461009757806302f3c6c5146100ac57806316e23b9f146100bf57806336291063146100ea575b600080fd5b6100aa6100a53660046110d9565b6101d7565b005b6100aa6100ba366004611199565b61027f565b6100d26100cd3660046111d2565b610771565b604051600b9190910b81526020015b60405180910390f35b6101166100f83660046111fe565b6001600160a01b039081166000908152602081905260409020541690565b6040516001600160a01b0390911681526020016100e1565b600154610116906001600160a01b031681565b6101687f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100e1565b6100aa6101843660046111fe565b6107c1565b6100d26101973660046111d2565b610829565b6101af6101aa3660046111fe565b61085b565b604080516001600160a01b0390941684526020840192909252600b0b908201526060016100e1565b336000818152602081905260409020546001600160a01b0389811691161461023057600084156102125761020d85870187611222565b61021c565b61021c8288610771565b905061022a828a898461093f565b50610274565b806001600160a01b03167fb9c1b85a7ee70d95c61aca7cda03ef957abc5265a191ca74cc335faf594095668760405161026b91815260200190565b60405180910390a25b505050505050505050565b6001600160a01b03808316600090815260208190526040902054163381146102e75760405162461bcd60e51b81526020600482015260166024820152751513d1d04e881bdb9b1e48141250c8185b1b1bddd95960521b60448201526064015b60405180910390fd5b600082600b0b121561030b5760405162461bcd60e51b81526004016102de9061123f565b61031483610f41565b6103427f0000000000000000000000000000000000000000000000000000000000000000600b85900b611298565b111561038a5760405162461bcd60e51b81526020600482015260176024820152760a89e8e827440caf0d2e8a4c2e8ca40e8dede40d0d2ced604b1b60448201526064016102de565b604051631cd43d1160e31b81526001600160a01b03848116600483015230602483015282811660448301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063e6a1e88890606401608060405180830381865afa158015610403573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061042791906112b7565b5050915050600081600b0b1380156104425750600083600b0b135b1561057c576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116906339255d5b907f00000000000000000000000000000000000000000000000000000000000000009081166350209a6288878960005b6040519080825280601f01601f1916602001820160405280156104d2576020820181803683370190505b506040516024016104e6949392919061135b565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b031916825261052f9392509060040161139b565b6000604051808303816000875af115801561054e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261057691908101906113e9565b50610729565b80600b0b60001480156105925750600083600b0b135b156105fc576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116906339255d5b907f00000000000000000000000000000000000000000000000000000000000000009081166362fc305e88878960006104a8565b600081600b0b138015610612575082600b0b6000145b15610729576040805160008152602081019091526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116916339255d5b917f0000000000000000000000000000000000000000000000000000000000000000919082169063b4b333c690610697908a9030908a9060448101611496565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526106e09392509060040161139b565b6000604051808303816000875af11580156106ff573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261072791908101906113e9565b505b604051600b84900b81526001600160a01b038516907f0988aefa675e81e1db7fca08264db5dc2a1cc2a604f2a78d902a9747146a56719060200160405180910390a250505050565b60006107b86107b36107a47f00000000000000000000000000000000000000000000000000000000000000006004611298565b6107ae90856114ca565b610fe2565b611050565b90505b92915050565b600154604051634e7eee1b60e11b81526001600160a01b03838116600483015233602483015290911690639cfddc3690604401600060405180830381600087803b15801561080e57600080fd5b505af1158015610822573d6000803e3d6000fd5b5050505050565b60006107b86107b36107ae7f0000000000000000000000000000000000000000000000000000000000000000856114ca565b6001600160a01b03818116600081815260208190526040808220549051631cd43d1160e31b815260048101939093523060248401528316604483015291829182917f0000000000000000000000000000000000000000000000000000000000000000169063e6a1e88890606401608060405180830381865afa1580156108e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090991906112b7565b50506001600160a01b0380871660009081526020819052604090205491935016905061093485610f41565b925092509193909250565b6001600160a01b038416600090815260208190526040902054600160a01b900460ff16156109af5760405162461bcd60e51b815260206004820152601c60248201527f544f47413a207265656e7472616e6379206e6f7420616c6c6f7765640000000060448201526064016102de565b600081600b0b12156109d35760405162461bcd60e51b81526004016102de9061123f565b81610a027f0000000000000000000000000000000000000000000000000000000000000000600b84900b611298565b1115610a4a5760405162461bcd60e51b81526020600482015260176024820152760a89e8e827440caf0d2e8a4c2e8ca40e8dede40d0d2ced604b1b60448201526064016102de565b600082610a5686610f41565b610a6091906114ec565b9050808311610aa55760405162461bcd60e51b8152602060048201526011602482015270544f47413a2062696420746f6f206c6f7760781b60448201526064016102de565b6001600160a01b038581166000818152602081905260408082208054600160a01b60ff60a01b198216179091559051631cd43d1160e31b815260048101939093523060248401528316604483018190529290917f00000000000000000000000000000000000000000000000000000000000000009091169063e6a1e88890606401608060405180830381865afa158015610b43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6791906112b7565b5050915050600081600b0b1315610c8a576040805160008152602081019091526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116916339255d5b917f0000000000000000000000000000000000000000000000000000000000000000919082169063b4b333c690610bf8908d9030908a9060448101611496565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610c419392509060040161139b565b6000604051808303816000875af1158015610c60573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c8891908101906113e9565b505b6001600160a01b03821615610d8357604051634decdde360e11b81526001600160a01b03881690639bd9bbc690622dc6c090610ccc90869088906004016114ff565b600060405180830381600088803b158015610ce657600080fd5b5087f193505050508015610cf8575060015b610d8357600154604080516001600160a01b0385811660208301528a811693639bd9bbc6939116918791016040516020818303038152906040526040518463ffffffff1660e01b8152600401610d5093929190611537565b600060405180830381600087803b158015610d6a57600080fd5b505af1158015610d7e573d6000803e3d6000fd5b505050505b6001600160a01b03878116600090815260208190526040812080546001600160a01b03191692891692909217909155600b85900b1315610ecf576040805160008152602081019091526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116916339255d5b917f000000000000000000000000000000000000000000000000000000000000000091908216906362fc305e90610e3d908d908d908c906044810161135b565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610e869392509060040161139b565b6000604051808303816000875af1158015610ea5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ecd91908101906113e9565b505b6001600160a01b0387811660008181526020818152604091829020805460ff60a01b191690558151938a1684528301889052600b87900b90830152907f836808e57755d5535898b7203c7d68b1bfb2701b1943ecb133c675e0d00780159060600160405180910390a250505050505050565b604051632ec8eec760e01b8152306004820152600090819081906001600160a01b03851690632ec8eec790602401608060405180830381865afa158015610f8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb0919061155e565b50509150915060008183610fc49190611594565b13610fd0576000610fda565b610fda8183611594565b949350505050565b60006001600160ff1b0382111561104c5760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b60648201526084016102de565b5090565b60006b7fffffffffffffffffffffff821261104c576b7fffffffffffffffffffffff92915050565b6001600160a01b038116811461108d57600080fd5b50565b60008083601f8401126110a257600080fd5b50813567ffffffffffffffff8111156110ba57600080fd5b6020830191508360208285010111156110d257600080fd5b9250929050565b60008060008060008060008060c0898b0312156110f557600080fd5b883561110081611078565b9750602089013561111081611078565b9650604089013561112081611078565b955060608901359450608089013567ffffffffffffffff8082111561114457600080fd5b6111508c838d01611090565b909650945060a08b013591508082111561116957600080fd5b506111768b828c01611090565b999c989b5096995094979396929594505050565b80600b0b811461108d57600080fd5b600080604083850312156111ac57600080fd5b82356111b781611078565b915060208301356111c78161118a565b809150509250929050565b600080604083850312156111e557600080fd5b82356111f081611078565b946020939093013593505050565b60006020828403121561121057600080fd5b813561121b81611078565b9392505050565b60006020828403121561123457600080fd5b813561121b8161118a565b60208082526023908201527f544f47413a206e65676174697665206578697452617465206e6f7420616c6c6f6040820152621dd95960ea1b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156112b2576112b2611282565b500290565b600080600080608085870312156112cd57600080fd5b8451935060208501516112df8161118a565b6040860151606090960151949790965092505050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561132657818101518382015260200161130e565b50506000910152565b6000815180845261134781602086016020860161130b565b601f01601f19169290920160200192915050565b6001600160a01b03858116825284166020820152600b83900b60408201526080606082018190526000906113919083018461132f565b9695505050505050565b6001600160a01b03831681526060602082018190526000906113bf9083018461132f565b82810360408401526113e0816002815261060f60f31b602082015260400190565b95945050505050565b6000602082840312156113fb57600080fd5b815167ffffffffffffffff8082111561141357600080fd5b818401915084601f83011261142757600080fd5b815181811115611439576114396112f5565b604051601f8201601f19908116603f01168101908382118183101715611461576114616112f5565b8160405282815287602084870101111561147a57600080fd5b61148b83602083016020880161130b565b979650505050505050565b6001600160a01b0385811682528481166020830152831660408201526080606082018190526000906113919083018461132f565b6000826114e757634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156107bb576107bb611282565b6001600160a01b03831681526020810182905260606040820181905260029082015261060f60f31b6080820152600060a08201610fda565b60018060a01b03841681528260208201526060604082015260006113e0606083018461132f565b6000806000806080858703121561157457600080fd5b505082516020840151604085015160609095015191969095509092509050565b80820182811260008312801582168215821617156115b4576115b4611282565b50509291505056fea2646970667358221220f68cab50a9ddc58a96523e1efd53e3e995efbaab1cd6fadc6c94d8e52b657dd364736f6c63430008100033",
289
- "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100925760003560e01c8063375b74c311610066578063375b74c31461012e57806360dfa695146101415780636da8d05414610176578063b8a1403314610189578063bf8903dd1461019c57600080fd5b806223de291461009757806302f3c6c5146100ac57806316e23b9f146100bf57806336291063146100ea575b600080fd5b6100aa6100a53660046110d9565b6101d7565b005b6100aa6100ba366004611199565b61027f565b6100d26100cd3660046111d2565b610771565b604051600b9190910b81526020015b60405180910390f35b6101166100f83660046111fe565b6001600160a01b039081166000908152602081905260409020541690565b6040516001600160a01b0390911681526020016100e1565b600154610116906001600160a01b031681565b6101687f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100e1565b6100aa6101843660046111fe565b6107c1565b6100d26101973660046111d2565b610829565b6101af6101aa3660046111fe565b61085b565b604080516001600160a01b0390941684526020840192909252600b0b908201526060016100e1565b336000818152602081905260409020546001600160a01b0389811691161461023057600084156102125761020d85870187611222565b61021c565b61021c8288610771565b905061022a828a898461093f565b50610274565b806001600160a01b03167fb9c1b85a7ee70d95c61aca7cda03ef957abc5265a191ca74cc335faf594095668760405161026b91815260200190565b60405180910390a25b505050505050505050565b6001600160a01b03808316600090815260208190526040902054163381146102e75760405162461bcd60e51b81526020600482015260166024820152751513d1d04e881bdb9b1e48141250c8185b1b1bddd95960521b60448201526064015b60405180910390fd5b600082600b0b121561030b5760405162461bcd60e51b81526004016102de9061123f565b61031483610f41565b6103427f0000000000000000000000000000000000000000000000000000000000000000600b85900b611298565b111561038a5760405162461bcd60e51b81526020600482015260176024820152760a89e8e827440caf0d2e8a4c2e8ca40e8dede40d0d2ced604b1b60448201526064016102de565b604051631cd43d1160e31b81526001600160a01b03848116600483015230602483015282811660448301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063e6a1e88890606401608060405180830381865afa158015610403573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061042791906112b7565b5050915050600081600b0b1380156104425750600083600b0b135b1561057c576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116906339255d5b907f00000000000000000000000000000000000000000000000000000000000000009081166350209a6288878960005b6040519080825280601f01601f1916602001820160405280156104d2576020820181803683370190505b506040516024016104e6949392919061135b565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b031916825261052f9392509060040161139b565b6000604051808303816000875af115801561054e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261057691908101906113e9565b50610729565b80600b0b60001480156105925750600083600b0b135b156105fc576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116906339255d5b907f00000000000000000000000000000000000000000000000000000000000000009081166362fc305e88878960006104a8565b600081600b0b138015610612575082600b0b6000145b15610729576040805160008152602081019091526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116916339255d5b917f0000000000000000000000000000000000000000000000000000000000000000919082169063b4b333c690610697908a9030908a9060448101611496565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526106e09392509060040161139b565b6000604051808303816000875af11580156106ff573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261072791908101906113e9565b505b604051600b84900b81526001600160a01b038516907f0988aefa675e81e1db7fca08264db5dc2a1cc2a604f2a78d902a9747146a56719060200160405180910390a250505050565b60006107b86107b36107a47f00000000000000000000000000000000000000000000000000000000000000006004611298565b6107ae90856114ca565b610fe2565b611050565b90505b92915050565b600154604051634e7eee1b60e11b81526001600160a01b03838116600483015233602483015290911690639cfddc3690604401600060405180830381600087803b15801561080e57600080fd5b505af1158015610822573d6000803e3d6000fd5b5050505050565b60006107b86107b36107ae7f0000000000000000000000000000000000000000000000000000000000000000856114ca565b6001600160a01b03818116600081815260208190526040808220549051631cd43d1160e31b815260048101939093523060248401528316604483015291829182917f0000000000000000000000000000000000000000000000000000000000000000169063e6a1e88890606401608060405180830381865afa1580156108e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090991906112b7565b50506001600160a01b0380871660009081526020819052604090205491935016905061093485610f41565b925092509193909250565b6001600160a01b038416600090815260208190526040902054600160a01b900460ff16156109af5760405162461bcd60e51b815260206004820152601c60248201527f544f47413a207265656e7472616e6379206e6f7420616c6c6f7765640000000060448201526064016102de565b600081600b0b12156109d35760405162461bcd60e51b81526004016102de9061123f565b81610a027f0000000000000000000000000000000000000000000000000000000000000000600b84900b611298565b1115610a4a5760405162461bcd60e51b81526020600482015260176024820152760a89e8e827440caf0d2e8a4c2e8ca40e8dede40d0d2ced604b1b60448201526064016102de565b600082610a5686610f41565b610a6091906114ec565b9050808311610aa55760405162461bcd60e51b8152602060048201526011602482015270544f47413a2062696420746f6f206c6f7760781b60448201526064016102de565b6001600160a01b038581166000818152602081905260408082208054600160a01b60ff60a01b198216179091559051631cd43d1160e31b815260048101939093523060248401528316604483018190529290917f00000000000000000000000000000000000000000000000000000000000000009091169063e6a1e88890606401608060405180830381865afa158015610b43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6791906112b7565b5050915050600081600b0b1315610c8a576040805160008152602081019091526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116916339255d5b917f0000000000000000000000000000000000000000000000000000000000000000919082169063b4b333c690610bf8908d9030908a9060448101611496565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610c419392509060040161139b565b6000604051808303816000875af1158015610c60573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c8891908101906113e9565b505b6001600160a01b03821615610d8357604051634decdde360e11b81526001600160a01b03881690639bd9bbc690622dc6c090610ccc90869088906004016114ff565b600060405180830381600088803b158015610ce657600080fd5b5087f193505050508015610cf8575060015b610d8357600154604080516001600160a01b0385811660208301528a811693639bd9bbc6939116918791016040516020818303038152906040526040518463ffffffff1660e01b8152600401610d5093929190611537565b600060405180830381600087803b158015610d6a57600080fd5b505af1158015610d7e573d6000803e3d6000fd5b505050505b6001600160a01b03878116600090815260208190526040812080546001600160a01b03191692891692909217909155600b85900b1315610ecf576040805160008152602081019091526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116916339255d5b917f000000000000000000000000000000000000000000000000000000000000000091908216906362fc305e90610e3d908d908d908c906044810161135b565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610e869392509060040161139b565b6000604051808303816000875af1158015610ea5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ecd91908101906113e9565b505b6001600160a01b0387811660008181526020818152604091829020805460ff60a01b191690558151938a1684528301889052600b87900b90830152907f836808e57755d5535898b7203c7d68b1bfb2701b1943ecb133c675e0d00780159060600160405180910390a250505050505050565b604051632ec8eec760e01b8152306004820152600090819081906001600160a01b03851690632ec8eec790602401608060405180830381865afa158015610f8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb0919061155e565b50509150915060008183610fc49190611594565b13610fd0576000610fda565b610fda8183611594565b949350505050565b60006001600160ff1b0382111561104c5760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b60648201526084016102de565b5090565b60006b7fffffffffffffffffffffff821261104c576b7fffffffffffffffffffffff92915050565b6001600160a01b038116811461108d57600080fd5b50565b60008083601f8401126110a257600080fd5b50813567ffffffffffffffff8111156110ba57600080fd5b6020830191508360208285010111156110d257600080fd5b9250929050565b60008060008060008060008060c0898b0312156110f557600080fd5b883561110081611078565b9750602089013561111081611078565b9650604089013561112081611078565b955060608901359450608089013567ffffffffffffffff8082111561114457600080fd5b6111508c838d01611090565b909650945060a08b013591508082111561116957600080fd5b506111768b828c01611090565b999c989b5096995094979396929594505050565b80600b0b811461108d57600080fd5b600080604083850312156111ac57600080fd5b82356111b781611078565b915060208301356111c78161118a565b809150509250929050565b600080604083850312156111e557600080fd5b82356111f081611078565b946020939093013593505050565b60006020828403121561121057600080fd5b813561121b81611078565b9392505050565b60006020828403121561123457600080fd5b813561121b8161118a565b60208082526023908201527f544f47413a206e65676174697665206578697452617465206e6f7420616c6c6f6040820152621dd95960ea1b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b60008160001904831182151516156112b2576112b2611282565b500290565b600080600080608085870312156112cd57600080fd5b8451935060208501516112df8161118a565b6040860151606090960151949790965092505050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561132657818101518382015260200161130e565b50506000910152565b6000815180845261134781602086016020860161130b565b601f01601f19169290920160200192915050565b6001600160a01b03858116825284166020820152600b83900b60408201526080606082018190526000906113919083018461132f565b9695505050505050565b6001600160a01b03831681526060602082018190526000906113bf9083018461132f565b82810360408401526113e0816002815261060f60f31b602082015260400190565b95945050505050565b6000602082840312156113fb57600080fd5b815167ffffffffffffffff8082111561141357600080fd5b818401915084601f83011261142757600080fd5b815181811115611439576114396112f5565b604051601f8201601f19908116603f01168101908382118183101715611461576114616112f5565b8160405282815287602084870101111561147a57600080fd5b61148b83602083016020880161130b565b979650505050505050565b6001600160a01b0385811682528481166020830152831660408201526080606082018190526000906113919083018461132f565b6000826114e757634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156107bb576107bb611282565b6001600160a01b03831681526020810182905260606040820181905260029082015261060f60f31b6080820152600060a08201610fda565b60018060a01b03841681528260208201526060604082015260006113e0606083018461132f565b6000806000806080858703121561157457600080fd5b505082516020840151604085015160609095015191969095509092509050565b80820182811260008312801582168215821617156115b4576115b4611282565b50509291505056fea2646970667358221220f68cab50a9ddc58a96523e1efd53e3e995efbaab1cd6fadc6c94d8e52b657dd364736f6c63430008100033",
257
+ "bytecode": "0x60e06040523480156200001157600080fd5b506040516200183b3803806200183b8339810160408190526200003491620002b5565b6001600160a01b038216608081905260c0829052604051635b69006f60e11b81527fa9214cc96615e0085d3bb077758db69497dc2dce3b2b1e97bc93c3d18d83efd3600482015263b6d200de90602401602060405180830381865afa158015620000a2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000c89190620002e6565b6001600160a01b031660a0526040516329965a1d60e01b815230600482018190527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b60248301819052604483019190915290731820a4b7618bde71dce8cdc73aab6c95905fad24906329965a1d90606401600060405180830381600087803b1580156200015457600080fd5b505af115801562000169573d6000803e3d6000fd5b50506040516329965a1d60e01b815230600482018190527fece6fc2bcfc93e4c34c28aeaa114be1a6161decb8268f79cbe7c3c7f31b1e8c660248301526044820152731820a4b7618bde71dce8cdc73aab6c95905fad2492506329965a1d9150606401600060405180830381600087803b158015620001e757600080fd5b505af1158015620001fc573d6000803e3d6000fd5b50506040516329965a1d60e01b815230600482018190527fca6323f8f0faf3d4f41f2397ee46c8d85bed576d54aadeb20b6cf7b45b3a696460248301526044820152731820a4b7618bde71dce8cdc73aab6c95905fad2492506329965a1d9150606401600060405180830381600087803b1580156200027a57600080fd5b505af11580156200028f573d6000803e3d6000fd5b505050505050506200030d565b6001600160a01b0381168114620002b257600080fd5b50565b60008060408385031215620002c957600080fd5b8251620002d6816200029c565b6020939093015192949293505050565b600060208284031215620002f957600080fd5b815162000306816200029c565b9392505050565b60805160a05160c051611495620003a66000396000818161011d015281816102dd0152818161074201528181610792015261093501526000818161037e0152818161043f0152818161058f0152818161061e015281816107fa01528181610a5601528181610b170152610ce701526000818161041501528181610565015281816105f401528181610aed0152610cbd01526114956000f3fe608060405234801561001057600080fd5b506004361061007c5760003560e01c8063362910631161005b57806336291063146100d457806360dfa69514610118578063b8a140331461014d578063bf8903dd1461016057600080fd5b806223de291461008157806302f3c6c51461009657806316e23b9f146100a9575b600080fd5b61009461008f366004610fc0565b61019b565b005b6100946100a4366004611080565b610243565b6100bc6100b73660046110b9565b610735565b604051600b9190910b81526020015b60405180910390f35b6101006100e23660046110e5565b6001600160a01b039081166000908152602081905260409020541690565b6040516001600160a01b0390911681526020016100cb565b61013f7f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100cb565b6100bc61015b3660046110b9565b610785565b61017361016e3660046110e5565b6107b7565b604080516001600160a01b0390941684526020840192909252600b0b908201526060016100cb565b336000818152602081905260409020546001600160a01b038981169116146101f457600084156101d6576101d185870187611109565b6101e0565b6101e08288610735565b90506101ee828a898461089b565b50610238565b806001600160a01b03167fb9c1b85a7ee70d95c61aca7cda03ef957abc5265a191ca74cc335faf594095668760405161022f91815260200190565b60405180910390a25b505050505050505050565b6001600160a01b03808316600090815260208190526040902054163381146102ab5760405162461bcd60e51b81526020600482015260166024820152751513d1d04e881bdb9b1e48141250c8185b1b1bddd95960521b60448201526064015b60405180910390fd5b600082600b0b12156102cf5760405162461bcd60e51b81526004016102a290611126565b6102d883610e28565b6103067f0000000000000000000000000000000000000000000000000000000000000000600b85900b61117f565b111561034e5760405162461bcd60e51b81526020600482015260176024820152760a89e8e827440caf0d2e8a4c2e8ca40e8dede40d0d2ced604b1b60448201526064016102a2565b604051631cd43d1160e31b81526001600160a01b03848116600483015230602483015282811660448301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063e6a1e88890606401608060405180830381865afa1580156103c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103eb919061119e565b5050915050600081600b0b1380156104065750600083600b0b135b15610540576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116906339255d5b907f00000000000000000000000000000000000000000000000000000000000000009081166350209a6288878960005b6040519080825280601f01601f191660200182016040528015610496576020820181803683370190505b506040516024016104aa9493929190611242565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526104f393925090600401611282565b6000604051808303816000875af1158015610512573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261053a91908101906112c9565b506106ed565b80600b0b60001480156105565750600083600b0b135b156105c0576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116906339255d5b907f00000000000000000000000000000000000000000000000000000000000000009081166362fc305e888789600061046c565b600081600b0b1380156105d6575082600b0b6000145b156106ed576040805160008152602081019091526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116916339255d5b917f0000000000000000000000000000000000000000000000000000000000000000919082169063b4b333c69061065b908a9030908a9060448101611376565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526106a493925090600401611282565b6000604051808303816000875af11580156106c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106eb91908101906112c9565b505b604051600b84900b81526001600160a01b038516907f0988aefa675e81e1db7fca08264db5dc2a1cc2a604f2a78d902a9747146a56719060200160405180910390a250505050565b600061077c6107776107687f0000000000000000000000000000000000000000000000000000000000000000600461117f565b61077290856113aa565b610ec9565b610f37565b90505b92915050565b600061077c6107776107727f0000000000000000000000000000000000000000000000000000000000000000856113aa565b6001600160a01b03818116600081815260208190526040808220549051631cd43d1160e31b815260048101939093523060248401528316604483015291829182917f0000000000000000000000000000000000000000000000000000000000000000169063e6a1e88890606401608060405180830381865afa158015610841573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610865919061119e565b50506001600160a01b0380871660009081526020819052604090205491935016905061089085610e28565b925092509193909250565b6001600160a01b038416600090815260208190526040902054600160a01b900460ff161561090b5760405162461bcd60e51b815260206004820152601c60248201527f544f47413a207265656e7472616e6379206e6f7420616c6c6f7765640000000060448201526064016102a2565b600081600b0b121561092f5760405162461bcd60e51b81526004016102a290611126565b8161095e7f0000000000000000000000000000000000000000000000000000000000000000600b84900b61117f565b11156109a65760405162461bcd60e51b81526020600482015260176024820152760a89e8e827440caf0d2e8a4c2e8ca40e8dede40d0d2ced604b1b60448201526064016102a2565b6000826109b286610e28565b6109bc91906113cc565b9050808311610a015760405162461bcd60e51b8152602060048201526011602482015270544f47413a2062696420746f6f206c6f7760781b60448201526064016102a2565b6001600160a01b038581166000818152602081905260408082208054600160a01b60ff60a01b198216179091559051631cd43d1160e31b815260048101939093523060248401528316604483018190529290917f00000000000000000000000000000000000000000000000000000000000000009091169063e6a1e88890606401608060405180830381865afa158015610a9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac3919061119e565b5050915050600081600b0b1315610be6576040805160008152602081019091526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116916339255d5b917f0000000000000000000000000000000000000000000000000000000000000000919082169063b4b333c690610b54908d9030908a9060448101611376565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610b9d93925090600401611282565b6000604051808303816000875af1158015610bbc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610be491908101906112c9565b505b6001600160a01b03821615610c6a5760405163a9059cbb60e01b81526001600160a01b0383811660048301526024820185905288169063a9059cbb906044016020604051808303816000875af1158015610c44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6891906113df565b505b6001600160a01b03878116600090815260208190526040812080546001600160a01b03191692891692909217909155600b85900b1315610db6576040805160008152602081019091526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116916339255d5b917f000000000000000000000000000000000000000000000000000000000000000091908216906362fc305e90610d24908d908d908c9060448101611242565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610d6d93925090600401611282565b6000604051808303816000875af1158015610d8c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610db491908101906112c9565b505b6001600160a01b0387811660008181526020818152604091829020805460ff60a01b191690558151938a1684528301889052600b87900b90830152907f836808e57755d5535898b7203c7d68b1bfb2701b1943ecb133c675e0d00780159060600160405180910390a250505050505050565b604051632ec8eec760e01b8152306004820152600090819081906001600160a01b03851690632ec8eec790602401608060405180830381865afa158015610e73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e979190611401565b50509150915060008183610eab9190611437565b13610eb7576000610ec1565b610ec18183611437565b949350505050565b60006001600160ff1b03821115610f335760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b60648201526084016102a2565b5090565b60006b7fffffffffffffffffffffff8212610f33576b7fffffffffffffffffffffff92915050565b6001600160a01b0381168114610f7457600080fd5b50565b60008083601f840112610f8957600080fd5b50813567ffffffffffffffff811115610fa157600080fd5b602083019150836020828501011115610fb957600080fd5b9250929050565b60008060008060008060008060c0898b031215610fdc57600080fd5b8835610fe781610f5f565b97506020890135610ff781610f5f565b9650604089013561100781610f5f565b955060608901359450608089013567ffffffffffffffff8082111561102b57600080fd5b6110378c838d01610f77565b909650945060a08b013591508082111561105057600080fd5b5061105d8b828c01610f77565b999c989b5096995094979396929594505050565b80600b0b8114610f7457600080fd5b6000806040838503121561109357600080fd5b823561109e81610f5f565b915060208301356110ae81611071565b809150509250929050565b600080604083850312156110cc57600080fd5b82356110d781610f5f565b946020939093013593505050565b6000602082840312156110f757600080fd5b813561110281610f5f565b9392505050565b60006020828403121561111b57600080fd5b813561110281611071565b60208082526023908201527f544f47413a206e65676174697665206578697452617465206e6f7420616c6c6f6040820152621dd95960ea1b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561119957611199611169565b500290565b600080600080608085870312156111b457600080fd5b8451935060208501516111c681611071565b6040860151606090960151949790965092505050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561120d5781810151838201526020016111f5565b50506000910152565b6000815180845261122e8160208601602086016111f2565b601f01601f19169290920160200192915050565b6001600160a01b03858116825284166020820152600b83900b604082015260806060820181905260009061127890830184611216565b9695505050505050565b6001600160a01b03831681526060602082018190526000906112a690830184611216565b8281036040938401526002815261060f60f31b6020820152919091019392505050565b6000602082840312156112db57600080fd5b815167ffffffffffffffff808211156112f357600080fd5b818401915084601f83011261130757600080fd5b815181811115611319576113196111dc565b604051601f8201601f19908116603f01168101908382118183101715611341576113416111dc565b8160405282815287602084870101111561135a57600080fd5b61136b8360208301602088016111f2565b979650505050505050565b6001600160a01b03858116825284811660208301528316604082015260806060820181905260009061127890830184611216565b6000826113c757634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561077f5761077f611169565b6000602082840312156113f157600080fd5b8151801515811461110257600080fd5b6000806000806080858703121561141757600080fd5b505082516020840151604085015160609095015191969095509092509050565b808201828112600083128015821682158216171561145757611457611169565b50509291505056fea26469706673582212208dfc31c0146308d2ecff16dae280ba7a1aa0c65ef481ae322362eef2b92426aa64736f6c63430008100033",
258
+ "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007c5760003560e01c8063362910631161005b57806336291063146100d457806360dfa69514610118578063b8a140331461014d578063bf8903dd1461016057600080fd5b806223de291461008157806302f3c6c51461009657806316e23b9f146100a9575b600080fd5b61009461008f366004610fc0565b61019b565b005b6100946100a4366004611080565b610243565b6100bc6100b73660046110b9565b610735565b604051600b9190910b81526020015b60405180910390f35b6101006100e23660046110e5565b6001600160a01b039081166000908152602081905260409020541690565b6040516001600160a01b0390911681526020016100cb565b61013f7f000000000000000000000000000000000000000000000000000000000000000081565b6040519081526020016100cb565b6100bc61015b3660046110b9565b610785565b61017361016e3660046110e5565b6107b7565b604080516001600160a01b0390941684526020840192909252600b0b908201526060016100cb565b336000818152602081905260409020546001600160a01b038981169116146101f457600084156101d6576101d185870187611109565b6101e0565b6101e08288610735565b90506101ee828a898461089b565b50610238565b806001600160a01b03167fb9c1b85a7ee70d95c61aca7cda03ef957abc5265a191ca74cc335faf594095668760405161022f91815260200190565b60405180910390a25b505050505050505050565b6001600160a01b03808316600090815260208190526040902054163381146102ab5760405162461bcd60e51b81526020600482015260166024820152751513d1d04e881bdb9b1e48141250c8185b1b1bddd95960521b60448201526064015b60405180910390fd5b600082600b0b12156102cf5760405162461bcd60e51b81526004016102a290611126565b6102d883610e28565b6103067f0000000000000000000000000000000000000000000000000000000000000000600b85900b61117f565b111561034e5760405162461bcd60e51b81526020600482015260176024820152760a89e8e827440caf0d2e8a4c2e8ca40e8dede40d0d2ced604b1b60448201526064016102a2565b604051631cd43d1160e31b81526001600160a01b03848116600483015230602483015282811660448301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063e6a1e88890606401608060405180830381865afa1580156103c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103eb919061119e565b5050915050600081600b0b1380156104065750600083600b0b135b15610540576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116906339255d5b907f00000000000000000000000000000000000000000000000000000000000000009081166350209a6288878960005b6040519080825280601f01601f191660200182016040528015610496576020820181803683370190505b506040516024016104aa9493929190611242565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526104f393925090600401611282565b6000604051808303816000875af1158015610512573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261053a91908101906112c9565b506106ed565b80600b0b60001480156105565750600083600b0b135b156105c0576001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116906339255d5b907f00000000000000000000000000000000000000000000000000000000000000009081166362fc305e888789600061046c565b600081600b0b1380156105d6575082600b0b6000145b156106ed576040805160008152602081019091526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116916339255d5b917f0000000000000000000000000000000000000000000000000000000000000000919082169063b4b333c69061065b908a9030908a9060448101611376565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b03191682526106a493925090600401611282565b6000604051808303816000875af11580156106c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106eb91908101906112c9565b505b604051600b84900b81526001600160a01b038516907f0988aefa675e81e1db7fca08264db5dc2a1cc2a604f2a78d902a9747146a56719060200160405180910390a250505050565b600061077c6107776107687f0000000000000000000000000000000000000000000000000000000000000000600461117f565b61077290856113aa565b610ec9565b610f37565b90505b92915050565b600061077c6107776107727f0000000000000000000000000000000000000000000000000000000000000000856113aa565b6001600160a01b03818116600081815260208190526040808220549051631cd43d1160e31b815260048101939093523060248401528316604483015291829182917f0000000000000000000000000000000000000000000000000000000000000000169063e6a1e88890606401608060405180830381865afa158015610841573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610865919061119e565b50506001600160a01b0380871660009081526020819052604090205491935016905061089085610e28565b925092509193909250565b6001600160a01b038416600090815260208190526040902054600160a01b900460ff161561090b5760405162461bcd60e51b815260206004820152601c60248201527f544f47413a207265656e7472616e6379206e6f7420616c6c6f7765640000000060448201526064016102a2565b600081600b0b121561092f5760405162461bcd60e51b81526004016102a290611126565b8161095e7f0000000000000000000000000000000000000000000000000000000000000000600b84900b61117f565b11156109a65760405162461bcd60e51b81526020600482015260176024820152760a89e8e827440caf0d2e8a4c2e8ca40e8dede40d0d2ced604b1b60448201526064016102a2565b6000826109b286610e28565b6109bc91906113cc565b9050808311610a015760405162461bcd60e51b8152602060048201526011602482015270544f47413a2062696420746f6f206c6f7760781b60448201526064016102a2565b6001600160a01b038581166000818152602081905260408082208054600160a01b60ff60a01b198216179091559051631cd43d1160e31b815260048101939093523060248401528316604483018190529290917f00000000000000000000000000000000000000000000000000000000000000009091169063e6a1e88890606401608060405180830381865afa158015610a9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ac3919061119e565b5050915050600081600b0b1315610be6576040805160008152602081019091526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116916339255d5b917f0000000000000000000000000000000000000000000000000000000000000000919082169063b4b333c690610b54908d9030908a9060448101611376565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610b9d93925090600401611282565b6000604051808303816000875af1158015610bbc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610be491908101906112c9565b505b6001600160a01b03821615610c6a5760405163a9059cbb60e01b81526001600160a01b0383811660048301526024820185905288169063a9059cbb906044016020604051808303816000875af1158015610c44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6891906113df565b505b6001600160a01b03878116600090815260208190526040812080546001600160a01b03191692891692909217909155600b85900b1315610db6576040805160008152602081019091526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116916339255d5b917f000000000000000000000000000000000000000000000000000000000000000091908216906362fc305e90610d24908d908d908c9060448101611242565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610d6d93925090600401611282565b6000604051808303816000875af1158015610d8c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610db491908101906112c9565b505b6001600160a01b0387811660008181526020818152604091829020805460ff60a01b191690558151938a1684528301889052600b87900b90830152907f836808e57755d5535898b7203c7d68b1bfb2701b1943ecb133c675e0d00780159060600160405180910390a250505050505050565b604051632ec8eec760e01b8152306004820152600090819081906001600160a01b03851690632ec8eec790602401608060405180830381865afa158015610e73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e979190611401565b50509150915060008183610eab9190611437565b13610eb7576000610ec1565b610ec18183611437565b949350505050565b60006001600160ff1b03821115610f335760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b60648201526084016102a2565b5090565b60006b7fffffffffffffffffffffff8212610f33576b7fffffffffffffffffffffff92915050565b6001600160a01b0381168114610f7457600080fd5b50565b60008083601f840112610f8957600080fd5b50813567ffffffffffffffff811115610fa157600080fd5b602083019150836020828501011115610fb957600080fd5b9250929050565b60008060008060008060008060c0898b031215610fdc57600080fd5b8835610fe781610f5f565b97506020890135610ff781610f5f565b9650604089013561100781610f5f565b955060608901359450608089013567ffffffffffffffff8082111561102b57600080fd5b6110378c838d01610f77565b909650945060a08b013591508082111561105057600080fd5b5061105d8b828c01610f77565b999c989b5096995094979396929594505050565b80600b0b8114610f7457600080fd5b6000806040838503121561109357600080fd5b823561109e81610f5f565b915060208301356110ae81611071565b809150509250929050565b600080604083850312156110cc57600080fd5b82356110d781610f5f565b946020939093013593505050565b6000602082840312156110f757600080fd5b813561110281610f5f565b9392505050565b60006020828403121561111b57600080fd5b813561110281611071565b60208082526023908201527f544f47413a206e65676174697665206578697452617465206e6f7420616c6c6f6040820152621dd95960ea1b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b600081600019048311821515161561119957611199611169565b500290565b600080600080608085870312156111b457600080fd5b8451935060208501516111c681611071565b6040860151606090960151949790965092505050565b634e487b7160e01b600052604160045260246000fd5b60005b8381101561120d5781810151838201526020016111f5565b50506000910152565b6000815180845261122e8160208601602086016111f2565b601f01601f19169290920160200192915050565b6001600160a01b03858116825284166020820152600b83900b604082015260806060820181905260009061127890830184611216565b9695505050505050565b6001600160a01b03831681526060602082018190526000906112a690830184611216565b8281036040938401526002815261060f60f31b6020820152919091019392505050565b6000602082840312156112db57600080fd5b815167ffffffffffffffff808211156112f357600080fd5b818401915084601f83011261130757600080fd5b815181811115611319576113196111dc565b604051601f8201601f19908116603f01168101908382118183101715611341576113416111dc565b8160405282815287602084870101111561135a57600080fd5b61136b8360208301602088016111f2565b979650505050505050565b6001600160a01b03858116825284811660208301528316604082015260806060820181905260009061127890830184611216565b6000826113c757634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561077f5761077f611169565b6000602082840312156113f157600080fd5b8151801515811461110257600080fd5b6000806000806080858703121561141757600080fd5b505082516020840151604085015160609095015191969095509092509050565b808201828112600083128015821682158216171561145757611457611169565b50509291505056fea26469706673582212208dfc31c0146308d2ecff16dae280ba7a1aa0c65ef481ae322362eef2b92426aa64736f6c63430008100033",
290
259
  "linkReferences": {},
291
260
  "deployedLinkReferences": {}
292
261
  }
@@ -4247,7 +4247,7 @@
4247
4247
  },
4248
4248
  "networks": {},
4249
4249
  "schemaVersion": "3.4.9",
4250
- "updatedAt": "2022-11-03T10:24:38.607Z",
4250
+ "updatedAt": "2022-11-07T09:32:42.323Z",
4251
4251
  "devdoc": {
4252
4252
  "details": "Contract module that allows children to implement role-based access control mechanisms. This is a lightweight version that doesn't allow enumerating role members except through off-chain means by accessing the contract event logs. Some applications may benefit from on-chain enumerability, for those cases see {AccessControlEnumerable}. Roles are referred to by their `bytes32` identifier. These should be exposed in the external API and be unique. The best way to achieve this is by using `public constant` hash digests: ``` bytes32 public constant MY_ROLE = keccak256(\"MY_ROLE\"); ``` Roles can be used to represent a set of permissions. To restrict access to a function call, use {hasRole}: ``` function foo() public { require(hasRole(MY_ROLE, msg.sender)); ... } ``` Roles can be granted and revoked dynamically via the {grantRole} and {revokeRole} functions. Each role has an associated admin role, and only accounts that have a role's admin role can call {grantRole} and {revokeRole}. By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means that only accounts with this role will be able to grant or revoke other roles. More complex role relationships can be created by using {_setRoleAdmin}. WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to grant and revoke this role. Extra precautions should be taken to secure accounts that have been granted it.",
4253
4253
  "kind": "dev",
@@ -1777,7 +1777,7 @@
1777
1777
  },
1778
1778
  "networks": {},
1779
1779
  "schemaVersion": "3.4.9",
1780
- "updatedAt": "2022-11-03T10:24:38.609Z",
1780
+ "updatedAt": "2022-11-07T09:32:42.325Z",
1781
1781
  "devdoc": {
1782
1782
  "details": "Extension of {AccessControl} that allows enumerating the members of each role.",
1783
1783
  "kind": "dev",
@@ -4004,7 +4004,7 @@
4004
4004
  },
4005
4005
  "networks": {},
4006
4006
  "schemaVersion": "3.4.9",
4007
- "updatedAt": "2022-11-03T10:24:38.626Z",
4007
+ "updatedAt": "2022-11-07T09:32:42.341Z",
4008
4008
  "devdoc": {
4009
4009
  "details": "Collection of functions related to the address type",
4010
4010
  "kind": "dev",
@@ -828,7 +828,7 @@
828
828
  },
829
829
  "networks": {},
830
830
  "schemaVersion": "3.4.9",
831
- "updatedAt": "2022-11-03T10:24:38.646Z",
831
+ "updatedAt": "2022-11-07T09:32:42.362Z",
832
832
  "devdoc": {
833
833
  "author": "Superfluid",
834
834
  "kind": "dev",
@@ -7358,7 +7358,7 @@
7358
7358
  },
7359
7359
  "networks": {},
7360
7360
  "schemaVersion": "3.4.9",
7361
- "updatedAt": "2022-11-03T10:24:38.647Z",
7361
+ "updatedAt": "2022-11-07T09:32:42.362Z",
7362
7362
  "devdoc": {
7363
7363
  "author": "Superfluid",
7364
7364
  "details": "Helper library for building super agreement",
@@ -611,7 +611,7 @@
611
611
  },
612
612
  "networks": {},
613
613
  "schemaVersion": "3.4.9",
614
- "updatedAt": "2022-11-03T10:24:38.776Z",
614
+ "updatedAt": "2022-11-07T09:32:42.491Z",
615
615
  "devdoc": {
616
616
  "author": "Superfluid",
617
617
  "details": "A base contract to be inherited by any contract that want to receive relayed transactions A subclass must use \"_msgSender()\" instead of \"msg.sender\" MODIFIED FROM: https://github.com/opengsn/forwarder/blob/master/contracts/BaseRelayRecipient.sol",