@superfluid-finance/ethereum-contracts 1.4.1 → 1.4.2-dev.e06ddfc.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 (108) hide show
  1. package/build/contracts/AccessControl.json +1 -1
  2. package/build/contracts/AccessControlEnumerable.json +1 -1
  3. package/build/contracts/Address.json +1 -1
  4. package/build/contracts/AgreementBase.json +28 -28
  5. package/build/contracts/AgreementLibrary.json +165 -165
  6. package/build/contracts/BaseRelayRecipient.json +55 -55
  7. package/build/contracts/BatchLiquidator.json +208 -208
  8. package/build/contracts/BatchOperation.json +788 -788
  9. package/build/contracts/CFAv1Forwarder.json +1321 -1321
  10. package/build/contracts/CFAv1Library.json +2279 -2279
  11. package/build/contracts/CallUtils.json +198 -198
  12. package/build/contracts/ClosingOnUpdateFlowTestApp.json +1544 -1544
  13. package/build/contracts/ConstantFlowAgreementV1.json +1702 -1622
  14. package/build/contracts/Context.json +1 -1
  15. package/build/contracts/ContextDefinitions.json +788 -788
  16. package/build/contracts/Create2.json +1 -1
  17. package/build/contracts/CustomSuperTokenBase.json +19 -19
  18. package/build/contracts/ERC165.json +1 -1
  19. package/build/contracts/ERC1820Implementer.json +1 -1
  20. package/build/contracts/ERC1820RegistryCompiled.json +22 -22
  21. package/build/contracts/ERC20.json +1 -1
  22. package/build/contracts/ERC20Burnable.json +1 -1
  23. package/build/contracts/ERC20Pausable.json +1 -1
  24. package/build/contracts/ERC20PresetMinterPauser.json +1 -1
  25. package/build/contracts/ERC20WithTokenInfo.json +23 -23
  26. package/build/contracts/ERC777Helper.json +380 -380
  27. package/build/contracts/ERC777RecipientDrainingGas.json +855 -855
  28. package/build/contracts/ERC777RecipientReverting.json +855 -855
  29. package/build/contracts/EnumerableSet.json +1 -1
  30. package/build/contracts/EventsEmitter.json +43 -43
  31. package/build/contracts/ExclusiveInflowTestApp.json +1544 -1544
  32. package/build/contracts/FixedSizeData.json +200 -200
  33. package/build/contracts/FlowExchangeTestApp.json +1545 -1545
  34. package/build/contracts/FlowOperatorDefinitions.json +788 -788
  35. package/build/contracts/FullUpgradableSuperTokenProxy.json +116 -116
  36. package/build/contracts/IAccessControl.json +1 -1
  37. package/build/contracts/IAccessControlEnumerable.json +1 -1
  38. package/build/contracts/IConstantFlowAgreementV1.json +615 -615
  39. package/build/contracts/IDAv1Library.json +2611 -2611
  40. package/build/contracts/IERC165.json +1 -1
  41. package/build/contracts/IERC1820Implementer.json +1 -1
  42. package/build/contracts/IERC1820Registry.json +1 -1
  43. package/build/contracts/IERC20.json +1 -1
  44. package/build/contracts/IERC20Metadata.json +1 -1
  45. package/build/contracts/IERC20Permit.json +1 -1
  46. package/build/contracts/IERC777.json +1 -1
  47. package/build/contracts/IERC777Recipient.json +1 -1
  48. package/build/contracts/IERC777Sender.json +1 -1
  49. package/build/contracts/IInstantDistributionAgreementV1.json +652 -652
  50. package/build/contracts/IMultiSigWallet.json +24 -24
  51. package/build/contracts/IPureSuperToken.json +47 -47
  52. package/build/contracts/IPureSuperTokenCustom.json +47 -47
  53. package/build/contracts/IRelayRecipient.json +27 -27
  54. package/build/contracts/IResolver.json +38 -38
  55. package/build/contracts/ISETH.json +52 -52
  56. package/build/contracts/ISETHCustom.json +52 -52
  57. package/build/contracts/ISuperAgreement.json +50 -50
  58. package/build/contracts/ISuperApp.json +191 -191
  59. package/build/contracts/ISuperToken.json +544 -544
  60. package/build/contracts/ISuperTokenFactory.json +166 -166
  61. package/build/contracts/ISuperfluid.json +886 -886
  62. package/build/contracts/ISuperfluidGovernance.json +254 -254
  63. package/build/contracts/ISuperfluidToken.json +395 -395
  64. package/build/contracts/ITOGAv1.json +1441 -1441
  65. package/build/contracts/ITOGAv2.json +1441 -1441
  66. package/build/contracts/Initializable.json +1 -1
  67. package/build/contracts/InstantDistributionAgreementV1.json +5894 -5894
  68. package/build/contracts/NonClosableOutflowTestApp.json +1545 -1545
  69. package/build/contracts/Ownable.json +1 -1
  70. package/build/contracts/Pausable.json +1 -1
  71. package/build/contracts/Proxy.json +1 -1
  72. package/build/contracts/PureSuperToken.json +106 -106
  73. package/build/contracts/Resolver.json +98 -98
  74. package/build/contracts/SETHProxy.json +224 -224
  75. package/build/contracts/SafeCast.json +1 -1
  76. package/build/contracts/SafeERC20.json +1 -1
  77. package/build/contracts/SafeMath.json +1 -1
  78. package/build/contracts/SelfDeletingFlowTestApp.json +1544 -1544
  79. package/build/contracts/SlotsBitmapLibrary.json +457 -457
  80. package/build/contracts/StreamRedirector.json +745 -745
  81. package/build/contracts/Strings.json +1 -1
  82. package/build/contracts/SuperAppBase.json +239 -239
  83. package/build/contracts/SuperAppDefinitions.json +788 -788
  84. package/build/contracts/SuperToken.json +2477 -2477
  85. package/build/contracts/SuperTokenFactory.json +774 -774
  86. package/build/contracts/SuperTokenFactoryBase.json +764 -764
  87. package/build/contracts/SuperTokenFactoryHelper.json +767 -767
  88. package/build/contracts/SuperUpgrader.json +437 -437
  89. package/build/contracts/Superfluid.json +5096 -5096
  90. package/build/contracts/SuperfluidErrors.json +788 -788
  91. package/build/contracts/SuperfluidFrameworkDeployer.json +765 -765
  92. package/build/contracts/SuperfluidGovernanceBase.json +2459 -2459
  93. package/build/contracts/SuperfluidGovernanceConfigs.json +788 -788
  94. package/build/contracts/SuperfluidGovernanceII.json +155 -155
  95. package/build/contracts/SuperfluidGovernanceIIProxy.json +135 -135
  96. package/build/contracts/SuperfluidLoader.json +207 -207
  97. package/build/contracts/SuperfluidToken.json +1471 -1471
  98. package/build/contracts/TOGA.json +1457 -1457
  99. package/build/contracts/TestGovernance.json +250 -250
  100. package/build/contracts/TestToken.json +93 -93
  101. package/build/contracts/TokenCustodian.json +214 -214
  102. package/build/contracts/TokenInfo.json +32 -32
  103. package/build/contracts/UUPSProxiable.json +139 -139
  104. package/build/contracts/UUPSProxy.json +81 -81
  105. package/build/contracts/UUPSUtils.json +37 -37
  106. package/build/contracts-sizes.txt +1 -1
  107. package/contracts/agreements/ConstantFlowAgreementV1.sol +4 -0
  108. package/package.json +9 -5
@@ -1641,7 +1641,7 @@
1641
1641
  },
1642
1642
  "networks": {},
1643
1643
  "schemaVersion": "3.4.9",
1644
- "updatedAt": "2022-09-21T07:45:09.245Z",
1644
+ "updatedAt": "2022-09-21T11:06:17.984Z",
1645
1645
  "devdoc": {
1646
1646
  "details": "Helper to make usage of the `CREATE2` EVM opcode easier and safer. `CREATE2` can be used to compute in advance the address where a smart contract will be deployed, which allows for interesting new mechanisms known as 'counterfactual interactions'. See the https://eips.ethereum.org/EIPS/eip-1014#motivation[EIP] for more information.",
1647
1647
  "kind": "dev",
@@ -15,18 +15,18 @@
15
15
  "absolutePath": "project:/contracts/interfaces/superfluid/CustomSuperTokenBase.sol",
16
16
  "exportedSymbols": {
17
17
  "CustomSuperTokenBase": [
18
- 18805
18
+ 18812
19
19
  ],
20
20
  "ISuperToken": [
21
- 19933
21
+ 19940
22
22
  ]
23
23
  },
24
- "id": 18806,
24
+ "id": 18813,
25
25
  "license": "AGPLv3",
26
26
  "nodeType": "SourceUnit",
27
27
  "nodes": [
28
28
  {
29
- "id": 18797,
29
+ "id": 18804,
30
30
  "literals": [
31
31
  "solidity",
32
32
  ">=",
@@ -39,20 +39,20 @@
39
39
  {
40
40
  "absolutePath": "project:/contracts/interfaces/superfluid/ISuperToken.sol",
41
41
  "file": "../../interfaces/superfluid/ISuperToken.sol",
42
- "id": 18799,
42
+ "id": 18806,
43
43
  "nameLocation": "-1:-1:-1",
44
44
  "nodeType": "ImportDirective",
45
- "scope": 18806,
46
- "sourceUnit": 19934,
45
+ "scope": 18813,
46
+ "sourceUnit": 19941,
47
47
  "src": "62:78:42",
48
48
  "symbolAliases": [
49
49
  {
50
50
  "foreign": {
51
- "id": 18798,
51
+ "id": 18805,
52
52
  "name": "ISuperToken",
53
53
  "nodeType": "Identifier",
54
54
  "overloadedDeclarations": [],
55
- "referencedDeclaration": 19933,
55
+ "referencedDeclaration": 19940,
56
56
  "src": "75:11:42",
57
57
  "typeDescriptions": {}
58
58
  },
@@ -68,15 +68,15 @@
68
68
  "contractDependencies": [],
69
69
  "contractKind": "contract",
70
70
  "documentation": {
71
- "id": 18800,
71
+ "id": 18807,
72
72
  "nodeType": "StructuredDocumentation",
73
73
  "src": "142:491:42",
74
74
  "text": " @title Custom super token base contract\n @author Superfluid\n NOTE:\n - Because of how solidity lays out its storage variables and how custom\n super tokens inherit the SuperToken standard implementation, it is\n required that the custom token proxy pads its implementation\n with reserved storage used by the Super Token implementation.\n - You will need to append your own proxy implementation after the base\n - Refer to SETH.sol for an example how it is used."
75
75
  },
76
76
  "fullyImplemented": true,
77
- "id": 18805,
77
+ "id": 18812,
78
78
  "linearizedBaseContracts": [
79
- 18805
79
+ 18812
80
80
  ],
81
81
  "name": "CustomSuperTokenBase",
82
82
  "nameLocation": "652:20:42",
@@ -84,12 +84,12 @@
84
84
  "nodes": [
85
85
  {
86
86
  "constant": false,
87
- "id": 18804,
87
+ "id": 18811,
88
88
  "mutability": "mutable",
89
89
  "name": "_storagePaddings",
90
90
  "nameLocation": "783:16:42",
91
91
  "nodeType": "VariableDeclaration",
92
- "scope": 18805,
92
+ "scope": 18812,
93
93
  "src": "762:37:42",
94
94
  "stateVariable": true,
95
95
  "storageLocation": "default",
@@ -99,7 +99,7 @@
99
99
  },
100
100
  "typeName": {
101
101
  "baseType": {
102
- "id": 18801,
102
+ "id": 18808,
103
103
  "name": "uint256",
104
104
  "nodeType": "ElementaryTypeName",
105
105
  "src": "762:7:42",
@@ -108,10 +108,10 @@
108
108
  "typeString": "uint256"
109
109
  }
110
110
  },
111
- "id": 18803,
111
+ "id": 18810,
112
112
  "length": {
113
113
  "hexValue": "3332",
114
- "id": 18802,
114
+ "id": 18809,
115
115
  "isConstant": false,
116
116
  "isLValue": false,
117
117
  "isPure": true,
@@ -135,7 +135,7 @@
135
135
  "visibility": "internal"
136
136
  }
137
137
  ],
138
- "scope": 18806,
138
+ "scope": 18813,
139
139
  "src": "634:168:42",
140
140
  "usedErrors": []
141
141
  }
@@ -148,7 +148,7 @@
148
148
  },
149
149
  "networks": {},
150
150
  "schemaVersion": "3.4.9",
151
- "updatedAt": "2022-09-21T07:45:09.379Z",
151
+ "updatedAt": "2022-09-21T11:06:18.122Z",
152
152
  "devdoc": {
153
153
  "author": "Superfluid NOTE: - Because of how solidity lays out its storage variables and how custom super tokens inherit the SuperToken standard implementation, it is required that the custom token proxy pads its implementation with reserved storage used by the Super Token implementation. - You will need to append your own proxy implementation after the base - Refer to SETH.sol for an example how it is used.",
154
154
  "kind": "dev",
@@ -325,7 +325,7 @@
325
325
  },
326
326
  "networks": {},
327
327
  "schemaVersion": "3.4.9",
328
- "updatedAt": "2022-09-21T07:45:09.247Z",
328
+ "updatedAt": "2022-09-21T11:06:17.986Z",
329
329
  "devdoc": {
330
330
  "details": "Implementation of the {IERC165} interface. Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check for the additional interface id that will be supported. For example: ```solidity function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId); } ``` Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.",
331
331
  "kind": "dev",
@@ -1190,7 +1190,7 @@
1190
1190
  },
1191
1191
  "networks": {},
1192
1192
  "schemaVersion": "3.4.9",
1193
- "updatedAt": "2022-09-21T07:45:09.247Z",
1193
+ "updatedAt": "2022-09-21T11:06:17.987Z",
1194
1194
  "devdoc": {
1195
1195
  "details": "Implementation of the {IERC1820Implementer} interface. Contracts may inherit from this and call {_registerInterfaceForAddress} to declare their willingness to be implementers. {IERC1820Registry-setInterfaceImplementer} should then be called for the registration to be complete.",
1196
1196
  "kind": "dev",
@@ -15,15 +15,15 @@
15
15
  "absolutePath": "project:/contracts/libs/ERC1820RegistryCompiled.sol",
16
16
  "exportedSymbols": {
17
17
  "ERC1820RegistryCompiled": [
18
- 21272
18
+ 21279
19
19
  ]
20
20
  },
21
- "id": 21273,
21
+ "id": 21280,
22
22
  "license": "AGPLv3",
23
23
  "nodeType": "SourceUnit",
24
24
  "nodes": [
25
25
  {
26
- "id": 21258,
26
+ "id": 21265,
27
27
  "literals": [
28
28
  "solidity",
29
29
  "0.8",
@@ -39,15 +39,15 @@
39
39
  "contractDependencies": [],
40
40
  "contractKind": "library",
41
41
  "documentation": {
42
- "id": 21259,
42
+ "id": 21266,
43
43
  "nodeType": "StructuredDocumentation",
44
44
  "src": "135:114:60",
45
45
  "text": "@dev This is meant to be used by test framework to get the raw bytecode without compiling the origin contract"
46
46
  },
47
47
  "fullyImplemented": true,
48
- "id": 21272,
48
+ "id": 21279,
49
49
  "linearizedBaseContracts": [
50
- 21272
50
+ 21279
51
51
  ],
52
52
  "name": "ERC1820RegistryCompiled",
53
53
  "nameLocation": "257:23:60",
@@ -55,12 +55,12 @@
55
55
  "nodes": [
56
56
  {
57
57
  "constant": true,
58
- "id": 21265,
58
+ "id": 21272,
59
59
  "mutability": "constant",
60
60
  "name": "at",
61
61
  "nameLocation": "313:2:60",
62
62
  "nodeType": "VariableDeclaration",
63
- "scope": 21272,
63
+ "scope": 21279,
64
64
  "src": "287:82:60",
65
65
  "stateVariable": true,
66
66
  "storageLocation": "default",
@@ -69,7 +69,7 @@
69
69
  "typeString": "address"
70
70
  },
71
71
  "typeName": {
72
- "id": 21260,
72
+ "id": 21267,
73
73
  "name": "address",
74
74
  "nodeType": "ElementaryTypeName",
75
75
  "src": "287:7:60",
@@ -83,7 +83,7 @@
83
83
  "arguments": [
84
84
  {
85
85
  "hexValue": "307831383230613442373631384264453731446365386364633733614142364339353930356661443234",
86
- "id": 21263,
86
+ "id": 21270,
87
87
  "isConstant": false,
88
88
  "isLValue": false,
89
89
  "isPure": true,
@@ -105,7 +105,7 @@
105
105
  "typeString": "address"
106
106
  }
107
107
  ],
108
- "id": 21262,
108
+ "id": 21269,
109
109
  "isConstant": false,
110
110
  "isLValue": false,
111
111
  "isPure": true,
@@ -117,14 +117,14 @@
117
117
  "typeString": "type(address)"
118
118
  },
119
119
  "typeName": {
120
- "id": 21261,
120
+ "id": 21268,
121
121
  "name": "address",
122
122
  "nodeType": "ElementaryTypeName",
123
123
  "src": "318:7:60",
124
124
  "typeDescriptions": {}
125
125
  }
126
126
  },
127
- "id": 21264,
127
+ "id": 21271,
128
128
  "isConstant": false,
129
129
  "isLValue": false,
130
130
  "isPure": true,
@@ -144,12 +144,12 @@
144
144
  },
145
145
  {
146
146
  "constant": true,
147
- "id": 21271,
147
+ "id": 21278,
148
148
  "mutability": "constant",
149
149
  "name": "bin",
150
150
  "nameLocation": "399:3:60",
151
151
  "nodeType": "VariableDeclaration",
152
- "scope": 21272,
152
+ "scope": 21279,
153
153
  "src": "375:5044:60",
154
154
  "stateVariable": true,
155
155
  "storageLocation": "default",
@@ -158,7 +158,7 @@
158
158
  "typeString": "bytes"
159
159
  },
160
160
  "typeName": {
161
- "id": 21266,
161
+ "id": 21273,
162
162
  "name": "bytes",
163
163
  "nodeType": "ElementaryTypeName",
164
164
  "src": "375:5:60",
@@ -171,7 +171,7 @@
171
171
  "arguments": [
172
172
  {
173
173
  "hexValue": "608060405234801561001057600080fd5b50600436106100a5576000357c010000000000000000000000000000000000000000000000000000000090048063a41e7d5111610078578063a41e7d51146101d4578063aabbb8ca1461020a578063b705676514610236578063f712f3e814610280576100a5565b806329965a1d146100aa5780633d584063146100e25780635df8122f1461012457806365ba36c114610152575b600080fd5b6100e0600480360360608110156100c057600080fd5b50600160a060020a038135811691602081013591604090910135166102b6565b005b610108600480360360208110156100f857600080fd5b5035600160a060020a0316610570565b60408051600160a060020a039092168252519081900360200190f35b6100e06004803603604081101561013a57600080fd5b50600160a060020a03813581169160200135166105bc565b6101c26004803603602081101561016857600080fd5b81019060208101813564010000000081111561018357600080fd5b82018360208201111561019557600080fd5b803590602001918460018302840111640100000000831117156101b757600080fd5b5090925090506106b3565b60408051918252519081900360200190f35b6100e0600480360360408110156101ea57600080fd5b508035600160a060020a03169060200135600160e060020a0319166106ee565b6101086004803603604081101561022057600080fd5b50600160a060020a038135169060200135610778565b61026c6004803603604081101561024c57600080fd5b508035600160a060020a03169060200135600160e060020a0319166107ef565b604080519115158252519081900360200190f35b61026c6004803603604081101561029657600080fd5b508035600160a060020a03169060200135600160e060020a0319166108aa565b6000600160a060020a038416156102cd57836102cf565b335b9050336102db82610570565b600160a060020a031614610339576040805160e560020a62461bcd02815260206004820152600f60248201527f4e6f7420746865206d616e616765720000000000000000000000000000000000604482015290519081900360640190fd5b6103428361092a565b15610397576040805160e560020a62461bcd02815260206004820152601a60248201527f4d757374206e6f7420626520616e204552433136352068617368000000000000604482015290519081900360640190fd5b600160a060020a038216158015906103b85750600160a060020a0382163314155b156104ff5760405160200180807f455243313832305f4143434550545f4d4147494300000000000000000000000081525060140190506040516020818303038152906040528051906020012082600160a060020a031663249cb3fa85846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600160a060020a0316600160a060020a031681526020019250505060206040518083038186803b15801561047e57600080fd5b505afa158015610492573d6000803e3d6000fd5b505050506040513d60208110156104a857600080fd5b5051146104ff576040805160e560020a62461bcd02815260206004820181905260248201527f446f6573206e6f7420696d706c656d656e742074686520696e74657266616365604482015290519081900360640190fd5b600160a060020a03818116600081815260208181526040808320888452909152808220805473ffffffffffffffffffffffffffffffffffffffff19169487169485179055518692917f93baa6efbd2244243bfee6ce4cfdd1d04fc4c0e9a786abd3a41313bd352db15391a450505050565b600160a060020a03818116600090815260016020526040812054909116151561059a5750806105b7565b50600160a060020a03808216600090815260016020526040902054165b919050565b336105c683610570565b600160a060020a031614610624576040805160e560020a62461bcd02815260206004820152600f60248201527f4e6f7420746865206d616e616765720000000000000000000000000000000000604482015290519081900360640190fd5b81600160a060020a031681600160a060020a0316146106435780610646565b60005b600160a060020a03838116600081815260016020526040808220805473ffffffffffffffffffffffffffffffffffffffff19169585169590951790945592519184169290917f605c2dbf762e5f7d60a546d42e7205dcb1b011ebc62a61736a57c9089d3a43509190a35050565b600082826040516020018083838082843780830192505050925050506040516020818303038152906040528051906020012090505b92915050565b6106f882826107ef565b610703576000610705565b815b600160a060020a03928316600081815260208181526040808320600160e060020a031996909616808452958252808320805473ffffffffffffffffffffffffffffffffffffffff19169590971694909417909555908152600284528181209281529190925220805460ff19166001179055565b600080600160a060020a038416156107905783610792565b335b905061079d8361092a565b156107c357826107ad82826108aa565b6107b85760006107ba565b815b925050506106e8565b600160a060020a0390811660009081526020818152604080832086845290915290205416905092915050565b6000808061081d857f01ffc9a70000000000000000000000000000000000000000000000000000000061094c565b909250905081158061082d575080155b1561083d576000925050506106e8565b61084f85600160e060020a031961094c565b909250905081158061086057508015155b15610870576000925050506106e8565b61087a858561094c565b909250905060018214801561088f5750806001145b1561089f576001925050506106e8565b506000949350505050565b600160a060020a0382166000908152600260209081526040808320600160e060020a03198516845290915281205460ff1615156108f2576108eb83836107ef565b90506106e8565b50600160a060020a03808316600081815260208181526040808320600160e060020a0319871684529091529020549091161492915050565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff161590565b6040517f01ffc9a7000000000000000000000000000000000000000000000000000000008082526004820183905260009182919060208160248189617530fa90519096909550935050505056fea165627a7a72305820377f4a2d4301ede9949f163f319021a6e9c687c292a5e2b2c4734c126b524e6c0029",
174
- "id": 21269,
174
+ "id": 21276,
175
175
  "isConstant": false,
176
176
  "isLValue": false,
177
177
  "isPure": true,
@@ -192,7 +192,7 @@
192
192
  "typeString": "literal_string hex\"608060405234801561001057600080fd5b50600436106100a5576000357c010000000000000000000000000000000000000000000000000000000090048063a41e7d5111610078578063a41e7d51146101d4578063aabbb8ca1461020a578063b705676514610236578063f712f3e814610280576100a5565b806329965a1d146100aa5780633d584063146100e25780635df8122f1461012457806365ba36c114610152575b600080fd5b6100e0600480360360608110156100c057600080fd5b50600160a060020a038135811691602081013591604090910135166102b6565b005b610108600480360360208110156100f857600080fd5b5035600160a060020a0316610570565b60408051600160a060020a039092168252519081900360200190f35b6100e06004803603604081101561013a57600080fd5b50600160a060020a03813581169160200135166105bc565b6101c26004803603602081101561016857600080fd5b81019060208101813564010000000081111561018357600080fd5b82018360208201111561019557600080fd5b803590602001918460018302840111640100000000831117156101b757600080fd5b5090925090506106b3565b60408051918252519081900360200190f35b6100e0600480360360408110156101ea57600080fd5b508035600160a060020a03169060200135600160e060020a0319166106ee565b6101086004803603604081101561022057600080fd5b50600160a060020a038135169060200135610778565b61026c6004803603604081101561024c57600080fd5b508035600160a060020a03169060200135600160e060020a0319166107ef565b604080519115158252519081900360200190f35b61026c6004803603604081101561029657600080fd5b508035600160a060020a03169060200135600160e060020a0319166108aa565b6000600160a060020a038416156102cd57836102cf565b335b9050336102db82610570565b600160a060020a031614610339576040805160e560020a62461bcd02815260206004820152600f60248201527f4e6f7420746865206d616e616765720000000000000000000000000000000000604482015290519081900360640190fd5b6103428361092a565b15610397576040805160e560020a62461bcd02815260206004820152601a60248201527f4d757374206e6f7420626520616e204552433136352068617368000000000000604482015290519081900360640190fd5b600160a060020a038216158015906103b85750600160a060020a0382163314155b156104ff5760405160200180807f455243313832305f4143434550545f4d4147494300000000000000000000000081525060140190506040516020818303038152906040528051906020012082600160a060020a031663249cb3fa85846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083815260200182600160a060020a0316600160a060020a031681526020019250505060206040518083038186803b15801561047e57600080fd5b505afa158015610492573d6000803e3d6000fd5b505050506040513d60208110156104a857600080fd5b5051146104ff576040805160e560020a62461bcd02815260206004820181905260248201527f446f6573206e6f7420696d706c656d656e742074686520696e74657266616365604482015290519081900360640190fd5b600160a060020a03818116600081815260208181526040808320888452909152808220805473ffffffffffffffffffffffffffffffffffffffff19169487169485179055518692917f93baa6efbd2244243bfee6ce4cfdd1d04fc4c0e9a786abd3a41313bd352db15391a450505050565b600160a060020a03818116600090815260016020526040812054909116151561059a5750806105b7565b50600160a060020a03808216600090815260016020526040902054165b919050565b336105c683610570565b600160a060020a031614610624576040805160e560020a62461bcd02815260206004820152600f60248201527f4e6f7420746865206d616e616765720000000000000000000000000000000000604482015290519081900360640190fd5b81600160a060020a031681600160a060020a0316146106435780610646565b60005b600160a060020a03838116600081815260016020526040808220805473ffffffffffffffffffffffffffffffffffffffff19169585169590951790945592519184169290917f605c2dbf762e5f7d60a546d42e7205dcb1b011ebc62a61736a57c9089d3a43509190a35050565b600082826040516020018083838082843780830192505050925050506040516020818303038152906040528051906020012090505b92915050565b6106f882826107ef565b610703576000610705565b815b600160a060020a03928316600081815260208181526040808320600160e060020a031996909616808452958252808320805473ffffffffffffffffffffffffffffffffffffffff19169590971694909417909555908152600284528181209281529190925220805460ff19166001179055565b600080600160a060020a038416156107905783610792565b335b905061079d8361092a565b156107c357826107ad82826108aa565b6107b85760006107ba565b815b925050506106e8565b600160a060020a0390811660009081526020818152604080832086845290915290205416905092915050565b6000808061081d857f01ffc9a70000000000000000000000000000000000000000000000000000000061094c565b909250905081158061082d575080155b1561083d576000925050506106e8565b61084f85600160e060020a031961094c565b909250905081158061086057508015155b15610870576000925050506106e8565b61087a858561094c565b909250905060018214801561088f5750806001145b1561089f576001925050506106e8565b506000949350505050565b600160a060020a0382166000908152600260209081526040808320600160e060020a03198516845290915281205460ff1615156108f2576108eb83836107ef565b90506106e8565b50600160a060020a03808316600081815260208181526040808320600160e060020a0319871684529091529020549091161492915050565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff161590565b6040517f01ffc9a7000000000000000000000000000000000000000000000000000000008082526004820183905260009182919060208160248189617530fa90519096909550935050505056fea165627a7a72305820377f4a2d4301ede9949f163f319021a6e9c687c292a5e2b2c4734c126b524e6c0029\""
193
193
  }
194
194
  ],
195
- "id": 21268,
195
+ "id": 21275,
196
196
  "isConstant": false,
197
197
  "isLValue": false,
198
198
  "isPure": true,
@@ -204,14 +204,14 @@
204
204
  "typeString": "type(bytes storage pointer)"
205
205
  },
206
206
  "typeName": {
207
- "id": 21267,
207
+ "id": 21274,
208
208
  "name": "bytes",
209
209
  "nodeType": "ElementaryTypeName",
210
210
  "src": "405:5:60",
211
211
  "typeDescriptions": {}
212
212
  }
213
213
  },
214
- "id": 21270,
214
+ "id": 21277,
215
215
  "isConstant": false,
216
216
  "isLValue": false,
217
217
  "isPure": true,
@@ -230,7 +230,7 @@
230
230
  "visibility": "internal"
231
231
  }
232
232
  ],
233
- "scope": 21273,
233
+ "scope": 21280,
234
234
  "src": "249:5173:60",
235
235
  "usedErrors": []
236
236
  }
@@ -243,7 +243,7 @@
243
243
  },
244
244
  "networks": {},
245
245
  "schemaVersion": "3.4.9",
246
- "updatedAt": "2022-09-21T07:45:09.416Z",
246
+ "updatedAt": "2022-09-21T11:06:18.160Z",
247
247
  "devdoc": {
248
248
  "details": "This is meant to be used by test framework to get the raw bytecode without compiling the origin contract",
249
249
  "kind": "dev",
@@ -15040,7 +15040,7 @@
15040
15040
  },
15041
15041
  "networks": {},
15042
15042
  "schemaVersion": "3.4.9",
15043
- "updatedAt": "2022-09-21T07:45:09.222Z",
15043
+ "updatedAt": "2022-09-21T11:06:17.959Z",
15044
15044
  "devdoc": {
15045
15045
  "details": "Implementation of the {IERC20} interface. This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20PresetMinterPauser}. TIP: For a detailed writeup see our guide https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. We have followed general OpenZeppelin Contracts guidelines: functions revert instead returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.",
15046
15046
  "kind": "dev",
@@ -869,7 +869,7 @@
869
869
  },
870
870
  "networks": {},
871
871
  "schemaVersion": "3.4.9",
872
- "updatedAt": "2022-09-21T07:45:09.229Z",
872
+ "updatedAt": "2022-09-21T11:06:17.967Z",
873
873
  "devdoc": {
874
874
  "details": "Extension of {ERC20} that allows token holders to destroy both their own tokens and those that they have an allowance for, in a way that can be recognized off-chain (via event analysis).",
875
875
  "kind": "dev",
@@ -798,7 +798,7 @@
798
798
  },
799
799
  "networks": {},
800
800
  "schemaVersion": "3.4.9",
801
- "updatedAt": "2022-09-21T07:45:09.229Z",
801
+ "updatedAt": "2022-09-21T11:06:17.968Z",
802
802
  "devdoc": {
803
803
  "details": "ERC20 token with pausable token transfers, minting and burning. Useful for scenarios such as preventing trades until the end of an evaluation period, or having an emergency switch for freezing all token transfers in the event of a large bug.",
804
804
  "kind": "dev",
@@ -14406,7 +14406,7 @@
14406
14406
  },
14407
14407
  "networks": {},
14408
14408
  "schemaVersion": "3.4.9",
14409
- "updatedAt": "2022-09-21T07:45:09.231Z",
14409
+ "updatedAt": "2022-09-21T11:06:17.970Z",
14410
14410
  "devdoc": {
14411
14411
  "details": "{ERC20} token, including: - ability for holders to burn (destroy) their tokens - a minter role that allows for token minting (creation) - a pauser role that allows to stop all token transfers This contract uses {AccessControl} to lock permissioned functions using the different roles - head to its documentation for details. The account that deploys the contract will be granted the minter and pauser roles, as well as the default admin role, which will let it grant both minter and pauser roles to other accounts. _Deprecated in favor of https://wizard.openzeppelin.com/[Contracts Wizard]._",
14412
14412
  "kind": "dev",
@@ -238,21 +238,21 @@
238
238
  "absolutePath": "project:/contracts/interfaces/tokens/ERC20WithTokenInfo.sol",
239
239
  "exportedSymbols": {
240
240
  "ERC20WithTokenInfo": [
241
- 20952
241
+ 20959
242
242
  ],
243
243
  "IERC20": [
244
244
  1630
245
245
  ],
246
246
  "TokenInfo": [
247
- 21020
247
+ 21027
248
248
  ]
249
249
  },
250
- "id": 20953,
250
+ "id": 20960,
251
251
  "license": "AGPLv3",
252
252
  "nodeType": "SourceUnit",
253
253
  "nodes": [
254
254
  {
255
- "id": 20942,
255
+ "id": 20949,
256
256
  "literals": [
257
257
  "solidity",
258
258
  ">=",
@@ -265,16 +265,16 @@
265
265
  {
266
266
  "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol",
267
267
  "file": "@openzeppelin/contracts/token/ERC20/IERC20.sol",
268
- "id": 20944,
268
+ "id": 20951,
269
269
  "nameLocation": "-1:-1:-1",
270
270
  "nodeType": "ImportDirective",
271
- "scope": 20953,
271
+ "scope": 20960,
272
272
  "sourceUnit": 1631,
273
273
  "src": "62:72:51",
274
274
  "symbolAliases": [
275
275
  {
276
276
  "foreign": {
277
- "id": 20943,
277
+ "id": 20950,
278
278
  "name": "IERC20",
279
279
  "nodeType": "Identifier",
280
280
  "overloadedDeclarations": [],
@@ -290,20 +290,20 @@
290
290
  {
291
291
  "absolutePath": "project:/contracts/interfaces/tokens/TokenInfo.sol",
292
292
  "file": "./TokenInfo.sol",
293
- "id": 20946,
293
+ "id": 20953,
294
294
  "nameLocation": "-1:-1:-1",
295
295
  "nodeType": "ImportDirective",
296
- "scope": 20953,
297
- "sourceUnit": 21021,
296
+ "scope": 20960,
297
+ "sourceUnit": 21028,
298
298
  "src": "135:44:51",
299
299
  "symbolAliases": [
300
300
  {
301
301
  "foreign": {
302
- "id": 20945,
302
+ "id": 20952,
303
303
  "name": "TokenInfo",
304
304
  "nodeType": "Identifier",
305
305
  "overloadedDeclarations": [],
306
- "referencedDeclaration": 21020,
306
+ "referencedDeclaration": 21027,
307
307
  "src": "144:9:51",
308
308
  "typeDescriptions": {}
309
309
  },
@@ -317,7 +317,7 @@
317
317
  "baseContracts": [
318
318
  {
319
319
  "baseName": {
320
- "id": 20948,
320
+ "id": 20955,
321
321
  "name": "IERC20",
322
322
  "nameLocations": [
323
323
  "530:6:51"
@@ -326,22 +326,22 @@
326
326
  "referencedDeclaration": 1630,
327
327
  "src": "530:6:51"
328
328
  },
329
- "id": 20949,
329
+ "id": 20956,
330
330
  "nodeType": "InheritanceSpecifier",
331
331
  "src": "530:6:51"
332
332
  },
333
333
  {
334
334
  "baseName": {
335
- "id": 20950,
335
+ "id": 20957,
336
336
  "name": "TokenInfo",
337
337
  "nameLocations": [
338
338
  "538:9:51"
339
339
  ],
340
340
  "nodeType": "IdentifierPath",
341
- "referencedDeclaration": 21020,
341
+ "referencedDeclaration": 21027,
342
342
  "src": "538:9:51"
343
343
  },
344
- "id": 20951,
344
+ "id": 20958,
345
345
  "nodeType": "InheritanceSpecifier",
346
346
  "src": "538:9:51"
347
347
  }
@@ -350,23 +350,23 @@
350
350
  "contractDependencies": [],
351
351
  "contractKind": "contract",
352
352
  "documentation": {
353
- "id": 20947,
353
+ "id": 20954,
354
354
  "nodeType": "StructuredDocumentation",
355
355
  "src": "181:263:51",
356
356
  "text": " @title ERC20 token with token info interface\n @author Superfluid\n @dev Using abstract contract instead of interfaces because old solidity\n does not support interface inheriting other interfaces\n solhint-disable-next-line no-empty-blocks"
357
357
  },
358
358
  "fullyImplemented": false,
359
- "id": 20952,
359
+ "id": 20959,
360
360
  "linearizedBaseContracts": [
361
- 20952,
362
- 21020,
361
+ 20959,
362
+ 21027,
363
363
  1630
364
364
  ],
365
365
  "name": "ERC20WithTokenInfo",
366
366
  "nameLocation": "508:18:51",
367
367
  "nodeType": "ContractDefinition",
368
368
  "nodes": [],
369
- "scope": 20953,
369
+ "scope": 20960,
370
370
  "src": "490:60:51",
371
371
  "usedErrors": []
372
372
  }
@@ -379,7 +379,7 @@
379
379
  },
380
380
  "networks": {},
381
381
  "schemaVersion": "3.4.9",
382
- "updatedAt": "2022-09-21T07:45:09.409Z",
382
+ "updatedAt": "2022-09-21T11:06:18.152Z",
383
383
  "devdoc": {
384
384
  "author": "Superfluid",
385
385
  "details": "Using abstract contract instead of interfaces because old solidity does not support interface inheriting other interfaces solhint-disable-next-line no-empty-blocks",