@superfluid-finance/ethereum-contracts 1.7.2-dev.09f3be3.0 → 1.7.2-dev.18c7e95.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 (173) hide show
  1. package/artifacts/contracts/apps/SuperfluidLoaderLibrary.sol/SuperfluidLoaderLibrary.json +2 -2
  2. package/build/contracts/AccessControl.json +1 -1
  3. package/build/contracts/AccessControlEnumerable.json +1 -1
  4. package/build/contracts/Address.json +1 -1
  5. package/build/contracts/AgreementBase.json +18 -18
  6. package/build/contracts/AgreementLibrary.json +165 -165
  7. package/build/contracts/BaseRelayRecipient.json +57 -57
  8. package/build/contracts/BatchLiquidator.json +382 -382
  9. package/build/contracts/BatchOperation.json +614 -614
  10. package/build/contracts/CFAv1Forwarder.json +1250 -1250
  11. package/build/contracts/CFAv1ForwarderDeployerLibrary.json +2384 -2384
  12. package/build/contracts/CFAv1Library.json +389 -389
  13. package/build/contracts/CallUtils.json +198 -198
  14. package/build/contracts/ClosingOnUpdateFlowTestApp.json +1525 -1525
  15. package/build/contracts/ConstantFlowAgreementV1.json +1087 -1087
  16. package/build/contracts/ConstantInflowNFT.json +402 -402
  17. package/build/contracts/ConstantOutflowNFT.json +661 -661
  18. package/build/contracts/Context.json +1 -1
  19. package/build/contracts/ContextDefinitions.json +614 -614
  20. package/build/contracts/CustomSuperTokenBase.json +19 -19
  21. package/build/contracts/ERC165.json +1 -1
  22. package/build/contracts/ERC1820Implementer.json +1 -1
  23. package/build/contracts/ERC1820RegistryCompiled.json +22 -22
  24. package/build/contracts/ERC20.json +1 -1
  25. package/build/contracts/ERC20WithTokenInfo.json +23 -23
  26. package/build/contracts/ERC777Helper.json +384 -384
  27. package/build/contracts/ERC777RecipientDrainingGas.json +863 -863
  28. package/build/contracts/ERC777RecipientReverting.json +863 -863
  29. package/build/contracts/EnumerableSet.json +1 -1
  30. package/build/contracts/EventsEmitter.json +43 -43
  31. package/build/contracts/ExclusiveInflowTestApp.json +1525 -1525
  32. package/build/contracts/FixedSizeData.json +200 -200
  33. package/build/contracts/FlowExchangeTestApp.json +1526 -1526
  34. package/build/contracts/FlowNFTBase.json +1280 -1280
  35. package/build/contracts/FlowOperatorDefinitions.json +614 -614
  36. package/build/contracts/ForwarderBase.json +190 -190
  37. package/build/contracts/FullUpgradableSuperTokenProxy.json +116 -116
  38. package/build/contracts/IAccessControl.json +1 -1
  39. package/build/contracts/IAccessControlEnumerable.json +1 -1
  40. package/build/contracts/IConstantFlowAgreementV1.json +677 -677
  41. package/build/contracts/IConstantInflowNFT.json +54 -54
  42. package/build/contracts/IConstantOutflowNFT.json +107 -107
  43. package/build/contracts/IDAv1Forwarder.json +912 -912
  44. package/build/contracts/IDAv1ForwarderDeployerLibrary.json +2384 -2384
  45. package/build/contracts/IDAv1Library.json +430 -430
  46. package/build/contracts/IERC165.json +1 -1
  47. package/build/contracts/IERC1820Implementer.json +1 -1
  48. package/build/contracts/IERC1820Registry.json +1 -1
  49. package/build/contracts/IERC20.json +1 -1
  50. package/build/contracts/IERC20Metadata.json +1 -1
  51. package/build/contracts/IERC20Permit.json +1 -1
  52. package/build/contracts/IERC721.json +1 -1
  53. package/build/contracts/IERC721Metadata.json +1 -1
  54. package/build/contracts/IERC777.json +1 -1
  55. package/build/contracts/IERC777Recipient.json +1 -1
  56. package/build/contracts/IERC777Sender.json +1 -1
  57. package/build/contracts/IFlowNFTBase.json +115 -115
  58. package/build/contracts/IInstantDistributionAgreementV1.json +667 -667
  59. package/build/contracts/IMultiSigWallet.json +31 -31
  60. package/build/contracts/IPoolAdminNFT.json +7 -7
  61. package/build/contracts/IPoolMemberNFT.json +7 -7
  62. package/build/contracts/IPureSuperToken.json +62 -62
  63. package/build/contracts/IPureSuperTokenCustom.json +62 -62
  64. package/build/contracts/IRelayRecipient.json +27 -27
  65. package/build/contracts/IResolver.json +38 -38
  66. package/build/contracts/ISETH.json +67 -67
  67. package/build/contracts/ISETHCustom.json +67 -67
  68. package/build/contracts/ISuperAgreement.json +50 -50
  69. package/build/contracts/ISuperApp.json +191 -191
  70. package/build/contracts/ISuperToken.json +695 -695
  71. package/build/contracts/ISuperTokenFactory.json +225 -225
  72. package/build/contracts/ISuperfluid.json +904 -904
  73. package/build/contracts/ISuperfluidGovernance.json +251 -251
  74. package/build/contracts/ISuperfluidToken.json +407 -407
  75. package/build/contracts/ITOGAv1.json +1346 -1346
  76. package/build/contracts/ITOGAv2.json +1346 -1346
  77. package/build/contracts/ITOGAv3.json +1346 -1346
  78. package/build/contracts/Initializable.json +1 -1
  79. package/build/contracts/InstantDistributionAgreementV1.json +594 -594
  80. package/build/contracts/Math.json +1 -1
  81. package/build/contracts/NonClosableOutflowTestApp.json +1526 -1526
  82. package/build/contracts/Ownable.json +1 -1
  83. package/build/contracts/Proxy.json +1 -1
  84. package/build/contracts/ProxyDeployerLibrary.json +2382 -2382
  85. package/build/contracts/PureSuperToken.json +106 -106
  86. package/build/contracts/Resolver.json +98 -98
  87. package/build/contracts/SETHProxy.json +224 -224
  88. package/build/contracts/SafeCast.json +1 -1
  89. package/build/contracts/SafeERC20.json +1 -1
  90. package/build/contracts/SafeGasLibrary.json +51 -51
  91. package/build/contracts/SafeMath.json +1 -1
  92. package/build/contracts/SelfDeletingFlowTestApp.json +1525 -1525
  93. package/build/contracts/SlotsBitmapLibrary.json +457 -457
  94. package/build/contracts/StreamRedirector.json +704 -704
  95. package/build/contracts/Strings.json +1 -1
  96. package/build/contracts/SuperAppBase.json +42 -42
  97. package/build/contracts/SuperAppBaseFlow.json +138 -138
  98. package/build/contracts/SuperAppDefinitions.json +614 -614
  99. package/build/contracts/SuperToken.json +2714 -2714
  100. package/build/contracts/SuperTokenDeployerLibrary.json +2383 -2383
  101. package/build/contracts/SuperTokenFactory.json +1347 -1347
  102. package/build/contracts/SuperTokenFactoryBase.json +1329 -1329
  103. package/build/contracts/SuperTokenV1Library.json +1483 -1483
  104. package/build/contracts/SuperUpgrader.json +439 -439
  105. package/build/contracts/Superfluid.json +5196 -5196
  106. package/build/contracts/SuperfluidCFAv1DeployerLibrary.json +2383 -2383
  107. package/build/contracts/SuperfluidFrameworkDeployer.json +1260 -1260
  108. package/build/contracts/SuperfluidFrameworkDeploymentSteps.json +2382 -2382
  109. package/build/contracts/SuperfluidGovDeployerLibrary.json +2383 -2383
  110. package/build/contracts/SuperfluidGovernanceBase.json +2449 -2449
  111. package/build/contracts/SuperfluidGovernanceConfigs.json +614 -614
  112. package/build/contracts/SuperfluidGovernanceII.json +155 -155
  113. package/build/contracts/SuperfluidGovernanceIIProxy.json +135 -135
  114. package/build/contracts/SuperfluidHostDeployerLibrary.json +2382 -2382
  115. package/build/contracts/SuperfluidIDAv1DeployerLibrary.json +2383 -2383
  116. package/build/contracts/SuperfluidLoader.json +207 -207
  117. package/build/contracts/SuperfluidLoaderDeployerLibrary.json +2384 -2384
  118. package/build/contracts/SuperfluidLoaderLibrary.json +485 -351
  119. package/build/contracts/SuperfluidNFTLogicDeployerLibrary.json +2387 -2387
  120. package/build/contracts/SuperfluidPeripheryDeployerLibrary.json +2385 -2385
  121. package/build/contracts/SuperfluidToken.json +1423 -1423
  122. package/build/contracts/TOGA.json +1360 -1360
  123. package/build/contracts/TestGovernance.json +250 -250
  124. package/build/contracts/TestResolver.json +47 -47
  125. package/build/contracts/TestToken.json +102 -102
  126. package/build/contracts/TokenDeployerLibrary.json +2384 -2384
  127. package/build/contracts/TokenInfo.json +32 -32
  128. package/build/contracts/UUPSProxiable.json +139 -139
  129. package/build/contracts/UUPSProxy.json +81 -81
  130. package/build/contracts/UUPSUtils.json +37 -37
  131. package/build/contracts-sizes.txt +15 -15
  132. package/build/typechain/factories/contracts/apps/SuperfluidLoaderLibrary__factory.d.ts +1 -1
  133. package/build/typechain/factories/contracts/apps/SuperfluidLoaderLibrary__factory.d.ts.map +1 -1
  134. package/build/typechain/factories/contracts/apps/SuperfluidLoaderLibrary__factory.js +1 -1
  135. package/build/typechain/factories/contracts/apps/SuperfluidLoaderLibrary__factory.js.map +1 -1
  136. package/contracts/apps/SuperfluidLoaderLibrary.sol +4 -1
  137. package/package.json +3 -4
  138. package/ops-scripts/.eslintrc.js +0 -15
  139. package/ops-scripts/artifacts/ERC1820Registry.json +0 -5
  140. package/ops-scripts/deploy-aux-contracts.js +0 -99
  141. package/ops-scripts/deploy-deterministically.js +0 -169
  142. package/ops-scripts/deploy-erc1820.js +0 -83
  143. package/ops-scripts/deploy-framework.js +0 -895
  144. package/ops-scripts/deploy-mfa.ts +0 -27
  145. package/ops-scripts/deploy-super-token.js +0 -206
  146. package/ops-scripts/deploy-test-environment.js +0 -98
  147. package/ops-scripts/deploy-test-token.js +0 -86
  148. package/ops-scripts/deploy-unlisted-pure-super-token.js +0 -69
  149. package/ops-scripts/deploy-unlisted-super-token.js +0 -68
  150. package/ops-scripts/gov-create-new-app-registration-key.js +0 -75
  151. package/ops-scripts/gov-create-new-factory-registration.js +0 -49
  152. package/ops-scripts/gov-set-3Ps-config.js +0 -67
  153. package/ops-scripts/gov-set-reward-address.js +0 -60
  154. package/ops-scripts/gov-set-token-min-deposit.js +0 -53
  155. package/ops-scripts/gov-set-trusted-forwarder.js +0 -80
  156. package/ops-scripts/gov-transfer-framework-ownership.js +0 -90
  157. package/ops-scripts/gov-upgrade-governance.js +0 -87
  158. package/ops-scripts/gov-upgrade-super-token-logic.js +0 -193
  159. package/ops-scripts/info-inspect-account.js +0 -118
  160. package/ops-scripts/info-list-apps.js +0 -55
  161. package/ops-scripts/info-print-contract-addresses.js +0 -136
  162. package/ops-scripts/info-scan-deployments.js +0 -63
  163. package/ops-scripts/info-show-protocol.js +0 -400
  164. package/ops-scripts/libs/common.js +0 -436
  165. package/ops-scripts/libs/getConfig.js +0 -289
  166. package/ops-scripts/libs/truffleScriptRunnerFactory.js +0 -97
  167. package/ops-scripts/resolver-list-super-token.js +0 -73
  168. package/ops-scripts/resolver-register-token.js +0 -72
  169. package/ops-scripts/resolver-reset-deployment.js +0 -54
  170. package/ops-scripts/resolver-set-key-value.js +0 -69
  171. package/ops-scripts/resolver-unlist-super-token.js +0 -61
  172. package/ops-scripts/tmp-trigger-token-transfer.js +0 -33
  173. package/ops-scripts/validate-nft-addresses.ts +0 -49
@@ -10138,21 +10138,21 @@
10138
10138
  1540
10139
10139
  ],
10140
10140
  "ISuperToken": [
10141
- 24383
10141
+ 24394
10142
10142
  ],
10143
10143
  "SafeERC20": [
10144
10144
  1882
10145
10145
  ],
10146
10146
  "SuperUpgrader": [
10147
- 49007
10147
+ 49018
10148
10148
  ]
10149
10149
  },
10150
- "id": 49008,
10150
+ "id": 49019,
10151
10151
  "license": "AGPLv3",
10152
10152
  "nodeType": "SourceUnit",
10153
10153
  "nodes": [
10154
10154
  {
10155
- "id": 48683,
10155
+ "id": 48694,
10156
10156
  "literals": [
10157
10157
  "solidity",
10158
10158
  "0.8",
@@ -10164,16 +10164,16 @@
10164
10164
  {
10165
10165
  "absolutePath": "@openzeppelin/contracts/access/AccessControlEnumerable.sol",
10166
10166
  "file": "@openzeppelin/contracts/access/AccessControlEnumerable.sol",
10167
- "id": 48685,
10167
+ "id": 48696,
10168
10168
  "nameLocation": "-1:-1:-1",
10169
10169
  "nodeType": "ImportDirective",
10170
- "scope": 49008,
10170
+ "scope": 49019,
10171
10171
  "sourceUnit": 441,
10172
10172
  "src": "60:101:116",
10173
10173
  "symbolAliases": [
10174
10174
  {
10175
10175
  "foreign": {
10176
- "id": 48684,
10176
+ "id": 48695,
10177
10177
  "name": "AccessControlEnumerable",
10178
10178
  "nodeType": "Identifier",
10179
10179
  "overloadedDeclarations": [],
@@ -10189,16 +10189,16 @@
10189
10189
  {
10190
10190
  "absolutePath": "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol",
10191
10191
  "file": "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol",
10192
- "id": 48687,
10192
+ "id": 48698,
10193
10193
  "nameLocation": "-1:-1:-1",
10194
10194
  "nodeType": "ImportDirective",
10195
- "scope": 49008,
10195
+ "scope": 49019,
10196
10196
  "sourceUnit": 1883,
10197
10197
  "src": "162:84:116",
10198
10198
  "symbolAliases": [
10199
10199
  {
10200
10200
  "foreign": {
10201
- "id": 48686,
10201
+ "id": 48697,
10202
10202
  "name": "SafeERC20",
10203
10203
  "nodeType": "Identifier",
10204
10204
  "overloadedDeclarations": [],
@@ -10214,20 +10214,20 @@
10214
10214
  {
10215
10215
  "absolutePath": "project:/contracts/interfaces/superfluid/ISuperfluid.sol",
10216
10216
  "file": "../interfaces/superfluid/ISuperfluid.sol",
10217
- "id": 48690,
10217
+ "id": 48701,
10218
10218
  "nameLocation": "-1:-1:-1",
10219
10219
  "nodeType": "ImportDirective",
10220
- "scope": 49008,
10221
- "sourceUnit": 25038,
10220
+ "scope": 49019,
10221
+ "sourceUnit": 25049,
10222
10222
  "src": "247:87:116",
10223
10223
  "symbolAliases": [
10224
10224
  {
10225
10225
  "foreign": {
10226
- "id": 48688,
10226
+ "id": 48699,
10227
10227
  "name": "ISuperToken",
10228
10228
  "nodeType": "Identifier",
10229
10229
  "overloadedDeclarations": [],
10230
- "referencedDeclaration": 24383,
10230
+ "referencedDeclaration": 24394,
10231
10231
  "src": "260:11:116",
10232
10232
  "typeDescriptions": {}
10233
10233
  },
@@ -10235,7 +10235,7 @@
10235
10235
  },
10236
10236
  {
10237
10237
  "foreign": {
10238
- "id": 48689,
10238
+ "id": 48700,
10239
10239
  "name": "IERC20",
10240
10240
  "nodeType": "Identifier",
10241
10241
  "overloadedDeclarations": [],
@@ -10253,7 +10253,7 @@
10253
10253
  "baseContracts": [
10254
10254
  {
10255
10255
  "baseName": {
10256
- "id": 48692,
10256
+ "id": 48703,
10257
10257
  "name": "AccessControlEnumerable",
10258
10258
  "nameLocations": [
10259
10259
  "723:23:116"
@@ -10262,7 +10262,7 @@
10262
10262
  "referencedDeclaration": 440,
10263
10263
  "src": "723:23:116"
10264
10264
  },
10265
- "id": 48693,
10265
+ "id": 48704,
10266
10266
  "nodeType": "InheritanceSpecifier",
10267
10267
  "src": "723:23:116"
10268
10268
  }
@@ -10271,15 +10271,15 @@
10271
10271
  "contractDependencies": [],
10272
10272
  "contractKind": "contract",
10273
10273
  "documentation": {
10274
- "id": 48691,
10274
+ "id": 48702,
10275
10275
  "nodeType": "StructuredDocumentation",
10276
10276
  "src": "336:360:116",
10277
10277
  "text": " @title Super upgrader contract\n @author Superfluid\n NOTE:\n - User would need to first SuperToken.approve the `SuperUpgrader` for the job.\n - Using access control to allow multiple backend agent to upgrade tokens for the users\n - Risk taken by the user is that the underlying tokens are converted to the Super Tokens by the upgrader agents."
10278
10278
  },
10279
10279
  "fullyImplemented": true,
10280
- "id": 49007,
10280
+ "id": 49018,
10281
10281
  "linearizedBaseContracts": [
10282
- 49007,
10282
+ 49018,
10283
10283
  440,
10284
10284
  315,
10285
10285
  2779,
@@ -10294,9 +10294,9 @@
10294
10294
  "nodes": [
10295
10295
  {
10296
10296
  "global": false,
10297
- "id": 48697,
10297
+ "id": 48708,
10298
10298
  "libraryName": {
10299
- "id": 48694,
10299
+ "id": 48705,
10300
10300
  "name": "SafeERC20",
10301
10301
  "nameLocations": [
10302
10302
  "760:9:116"
@@ -10308,10 +10308,10 @@
10308
10308
  "nodeType": "UsingForDirective",
10309
10309
  "src": "754:27:116",
10310
10310
  "typeName": {
10311
- "id": 48696,
10311
+ "id": 48707,
10312
10312
  "nodeType": "UserDefinedTypeName",
10313
10313
  "pathNode": {
10314
- "id": 48695,
10314
+ "id": 48706,
10315
10315
  "name": "IERC20",
10316
10316
  "nameLocations": [
10317
10317
  "774:6:116"
@@ -10331,12 +10331,12 @@
10331
10331
  {
10332
10332
  "constant": true,
10333
10333
  "functionSelector": "92c2becc",
10334
- "id": 48702,
10334
+ "id": 48713,
10335
10335
  "mutability": "constant",
10336
10336
  "name": "BACKEND_ROLE",
10337
10337
  "nameLocation": "867:12:116",
10338
10338
  "nodeType": "VariableDeclaration",
10339
- "scope": 49007,
10339
+ "scope": 49018,
10340
10340
  "src": "843:64:116",
10341
10341
  "stateVariable": true,
10342
10342
  "storageLocation": "default",
@@ -10345,7 +10345,7 @@
10345
10345
  "typeString": "bytes32"
10346
10346
  },
10347
10347
  "typeName": {
10348
- "id": 48698,
10348
+ "id": 48709,
10349
10349
  "name": "bytes32",
10350
10350
  "nodeType": "ElementaryTypeName",
10351
10351
  "src": "843:7:116",
@@ -10358,7 +10358,7 @@
10358
10358
  "arguments": [
10359
10359
  {
10360
10360
  "hexValue": "4241434b454e445f524f4c45",
10361
- "id": 48700,
10361
+ "id": 48711,
10362
10362
  "isConstant": false,
10363
10363
  "isLValue": false,
10364
10364
  "isPure": true,
@@ -10380,7 +10380,7 @@
10380
10380
  "typeString": "literal_string \"BACKEND_ROLE\""
10381
10381
  }
10382
10382
  ],
10383
- "id": 48699,
10383
+ "id": 48710,
10384
10384
  "name": "keccak256",
10385
10385
  "nodeType": "Identifier",
10386
10386
  "overloadedDeclarations": [],
@@ -10391,7 +10391,7 @@
10391
10391
  "typeString": "function (bytes memory) pure returns (bytes32)"
10392
10392
  }
10393
10393
  },
10394
- "id": 48701,
10394
+ "id": 48712,
10395
10395
  "isConstant": false,
10396
10396
  "isLValue": false,
10397
10397
  "isPure": true,
@@ -10412,23 +10412,23 @@
10412
10412
  {
10413
10413
  "anonymous": false,
10414
10414
  "eventSelector": "d07f586f18c37aa8ec13ebc5523e50304e2aa7711505bfa7242fcb7152eaee25",
10415
- "id": 48706,
10415
+ "id": 48717,
10416
10416
  "name": "OptoutAutoUpgrade",
10417
10417
  "nameLocation": "920:17:116",
10418
10418
  "nodeType": "EventDefinition",
10419
10419
  "parameters": {
10420
- "id": 48705,
10420
+ "id": 48716,
10421
10421
  "nodeType": "ParameterList",
10422
10422
  "parameters": [
10423
10423
  {
10424
10424
  "constant": false,
10425
- "id": 48704,
10425
+ "id": 48715,
10426
10426
  "indexed": true,
10427
10427
  "mutability": "mutable",
10428
10428
  "name": "account",
10429
10429
  "nameLocation": "954:7:116",
10430
10430
  "nodeType": "VariableDeclaration",
10431
- "scope": 48706,
10431
+ "scope": 48717,
10432
10432
  "src": "938:23:116",
10433
10433
  "stateVariable": false,
10434
10434
  "storageLocation": "default",
@@ -10437,7 +10437,7 @@
10437
10437
  "typeString": "address"
10438
10438
  },
10439
10439
  "typeName": {
10440
- "id": 48703,
10440
+ "id": 48714,
10441
10441
  "name": "address",
10442
10442
  "nodeType": "ElementaryTypeName",
10443
10443
  "src": "938:7:116",
@@ -10457,23 +10457,23 @@
10457
10457
  {
10458
10458
  "anonymous": false,
10459
10459
  "eventSelector": "de802370a7a9557e8d50bffe30a1bbd3d327beb1964088485a5465325bc5fb7a",
10460
- "id": 48710,
10460
+ "id": 48721,
10461
10461
  "name": "OptinAutoUpgrade",
10462
10462
  "nameLocation": "974:16:116",
10463
10463
  "nodeType": "EventDefinition",
10464
10464
  "parameters": {
10465
- "id": 48709,
10465
+ "id": 48720,
10466
10466
  "nodeType": "ParameterList",
10467
10467
  "parameters": [
10468
10468
  {
10469
10469
  "constant": false,
10470
- "id": 48708,
10470
+ "id": 48719,
10471
10471
  "indexed": true,
10472
10472
  "mutability": "mutable",
10473
10473
  "name": "account",
10474
10474
  "nameLocation": "1007:7:116",
10475
10475
  "nodeType": "VariableDeclaration",
10476
- "scope": 48710,
10476
+ "scope": 48721,
10477
10477
  "src": "991:23:116",
10478
10478
  "stateVariable": false,
10479
10479
  "storageLocation": "default",
@@ -10482,7 +10482,7 @@
10482
10482
  "typeString": "address"
10483
10483
  },
10484
10484
  "typeName": {
10485
- "id": 48707,
10485
+ "id": 48718,
10486
10486
  "name": "address",
10487
10487
  "nodeType": "ElementaryTypeName",
10488
10488
  "src": "991:7:116",
@@ -10501,12 +10501,12 @@
10501
10501
  },
10502
10502
  {
10503
10503
  "constant": false,
10504
- "id": 48714,
10504
+ "id": 48725,
10505
10505
  "mutability": "mutable",
10506
10506
  "name": "_optout",
10507
10507
  "nameLocation": "1056:7:116",
10508
10508
  "nodeType": "VariableDeclaration",
10509
- "scope": 49007,
10509
+ "scope": 49018,
10510
10510
  "src": "1022:41:116",
10511
10511
  "stateVariable": true,
10512
10512
  "storageLocation": "default",
@@ -10515,11 +10515,11 @@
10515
10515
  "typeString": "mapping(address => bool)"
10516
10516
  },
10517
10517
  "typeName": {
10518
- "id": 48713,
10518
+ "id": 48724,
10519
10519
  "keyName": "",
10520
10520
  "keyNameLocation": "-1:-1:-1",
10521
10521
  "keyType": {
10522
- "id": 48711,
10522
+ "id": 48722,
10523
10523
  "name": "address",
10524
10524
  "nodeType": "ElementaryTypeName",
10525
10525
  "src": "1030:7:116",
@@ -10537,7 +10537,7 @@
10537
10537
  "valueName": "",
10538
10538
  "valueNameLocation": "-1:-1:-1",
10539
10539
  "valueType": {
10540
- "id": 48712,
10540
+ "id": 48723,
10541
10541
  "name": "bool",
10542
10542
  "nodeType": "ElementaryTypeName",
10543
10543
  "src": "1041:4:116",
@@ -10551,7 +10551,7 @@
10551
10551
  },
10552
10552
  {
10553
10553
  "body": {
10554
- "id": 48769,
10554
+ "id": 48780,
10555
10555
  "nodeType": "Block",
10556
10556
  "src": "1131:321:116",
10557
10557
  "statements": [
@@ -10563,17 +10563,17 @@
10563
10563
  "typeIdentifier": "t_address",
10564
10564
  "typeString": "address"
10565
10565
  },
10566
- "id": 48728,
10566
+ "id": 48739,
10567
10567
  "isConstant": false,
10568
10568
  "isLValue": false,
10569
10569
  "isPure": false,
10570
10570
  "lValueRequested": false,
10571
10571
  "leftExpression": {
10572
- "id": 48723,
10572
+ "id": 48734,
10573
10573
  "name": "adminRole",
10574
10574
  "nodeType": "Identifier",
10575
10575
  "overloadedDeclarations": [],
10576
- "referencedDeclaration": 48716,
10576
+ "referencedDeclaration": 48727,
10577
10577
  "src": "1149:9:116",
10578
10578
  "typeDescriptions": {
10579
10579
  "typeIdentifier": "t_address",
@@ -10586,7 +10586,7 @@
10586
10586
  "arguments": [
10587
10587
  {
10588
10588
  "hexValue": "30",
10589
- "id": 48726,
10589
+ "id": 48737,
10590
10590
  "isConstant": false,
10591
10591
  "isLValue": false,
10592
10592
  "isPure": true,
@@ -10608,7 +10608,7 @@
10608
10608
  "typeString": "int_const 0"
10609
10609
  }
10610
10610
  ],
10611
- "id": 48725,
10611
+ "id": 48736,
10612
10612
  "isConstant": false,
10613
10613
  "isLValue": false,
10614
10614
  "isPure": true,
@@ -10620,14 +10620,14 @@
10620
10620
  "typeString": "type(address)"
10621
10621
  },
10622
10622
  "typeName": {
10623
- "id": 48724,
10623
+ "id": 48735,
10624
10624
  "name": "address",
10625
10625
  "nodeType": "ElementaryTypeName",
10626
10626
  "src": "1162:7:116",
10627
10627
  "typeDescriptions": {}
10628
10628
  }
10629
10629
  },
10630
- "id": 48727,
10630
+ "id": 48738,
10631
10631
  "isConstant": false,
10632
10632
  "isLValue": false,
10633
10633
  "isPure": true,
@@ -10651,7 +10651,7 @@
10651
10651
  },
10652
10652
  {
10653
10653
  "hexValue": "61646d696e526f6c6520697320656d707479",
10654
- "id": 48729,
10654
+ "id": 48740,
10655
10655
  "isConstant": false,
10656
10656
  "isLValue": false,
10657
10657
  "isPure": true,
@@ -10677,7 +10677,7 @@
10677
10677
  "typeString": "literal_string \"adminRole is empty\""
10678
10678
  }
10679
10679
  ],
10680
- "id": 48722,
10680
+ "id": 48733,
10681
10681
  "name": "require",
10682
10682
  "nodeType": "Identifier",
10683
10683
  "overloadedDeclarations": [
@@ -10691,7 +10691,7 @@
10691
10691
  "typeString": "function (bool,string memory) pure"
10692
10692
  }
10693
10693
  },
10694
- "id": 48730,
10694
+ "id": 48741,
10695
10695
  "isConstant": false,
10696
10696
  "isLValue": false,
10697
10697
  "isPure": false,
@@ -10707,7 +10707,7 @@
10707
10707
  "typeString": "tuple()"
10708
10708
  }
10709
10709
  },
10710
- "id": 48731,
10710
+ "id": 48742,
10711
10711
  "nodeType": "ExpressionStatement",
10712
10712
  "src": "1141:54:116"
10713
10713
  },
@@ -10715,7 +10715,7 @@
10715
10715
  "expression": {
10716
10716
  "arguments": [
10717
10717
  {
10718
- "id": 48733,
10718
+ "id": 48744,
10719
10719
  "name": "DEFAULT_ADMIN_ROLE",
10720
10720
  "nodeType": "Identifier",
10721
10721
  "overloadedDeclarations": [],
@@ -10727,11 +10727,11 @@
10727
10727
  }
10728
10728
  },
10729
10729
  {
10730
- "id": 48734,
10730
+ "id": 48745,
10731
10731
  "name": "adminRole",
10732
10732
  "nodeType": "Identifier",
10733
10733
  "overloadedDeclarations": [],
10734
- "referencedDeclaration": 48716,
10734
+ "referencedDeclaration": 48727,
10735
10735
  "src": "1236:9:116",
10736
10736
  "typeDescriptions": {
10737
10737
  "typeIdentifier": "t_address",
@@ -10750,7 +10750,7 @@
10750
10750
  "typeString": "address"
10751
10751
  }
10752
10752
  ],
10753
- "id": 48732,
10753
+ "id": 48743,
10754
10754
  "name": "_setupRole",
10755
10755
  "nodeType": "Identifier",
10756
10756
  "overloadedDeclarations": [],
@@ -10761,7 +10761,7 @@
10761
10761
  "typeString": "function (bytes32,address)"
10762
10762
  }
10763
10763
  },
10764
- "id": 48735,
10764
+ "id": 48746,
10765
10765
  "isConstant": false,
10766
10766
  "isLValue": false,
10767
10767
  "isPure": false,
@@ -10777,13 +10777,13 @@
10777
10777
  "typeString": "tuple()"
10778
10778
  }
10779
10779
  },
10780
- "id": 48736,
10780
+ "id": 48747,
10781
10781
  "nodeType": "ExpressionStatement",
10782
10782
  "src": "1205:41:116"
10783
10783
  },
10784
10784
  {
10785
10785
  "body": {
10786
- "id": 48767,
10786
+ "id": 48778,
10787
10787
  "nodeType": "Block",
10788
10788
  "src": "1305:141:116",
10789
10789
  "statements": [
@@ -10795,31 +10795,31 @@
10795
10795
  "typeIdentifier": "t_address",
10796
10796
  "typeString": "address"
10797
10797
  },
10798
- "id": 48756,
10798
+ "id": 48767,
10799
10799
  "isConstant": false,
10800
10800
  "isLValue": false,
10801
10801
  "isPure": false,
10802
10802
  "lValueRequested": false,
10803
10803
  "leftExpression": {
10804
10804
  "baseExpression": {
10805
- "id": 48749,
10805
+ "id": 48760,
10806
10806
  "name": "backendAddr",
10807
10807
  "nodeType": "Identifier",
10808
10808
  "overloadedDeclarations": [],
10809
- "referencedDeclaration": 48719,
10809
+ "referencedDeclaration": 48730,
10810
10810
  "src": "1327:11:116",
10811
10811
  "typeDescriptions": {
10812
10812
  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
10813
10813
  "typeString": "address[] memory"
10814
10814
  }
10815
10815
  },
10816
- "id": 48751,
10816
+ "id": 48762,
10817
10817
  "indexExpression": {
10818
- "id": 48750,
10818
+ "id": 48761,
10819
10819
  "name": "i",
10820
10820
  "nodeType": "Identifier",
10821
10821
  "overloadedDeclarations": [],
10822
- "referencedDeclaration": 48738,
10822
+ "referencedDeclaration": 48749,
10823
10823
  "src": "1339:1:116",
10824
10824
  "typeDescriptions": {
10825
10825
  "typeIdentifier": "t_uint256",
@@ -10843,7 +10843,7 @@
10843
10843
  "arguments": [
10844
10844
  {
10845
10845
  "hexValue": "30",
10846
- "id": 48754,
10846
+ "id": 48765,
10847
10847
  "isConstant": false,
10848
10848
  "isLValue": false,
10849
10849
  "isPure": true,
@@ -10865,7 +10865,7 @@
10865
10865
  "typeString": "int_const 0"
10866
10866
  }
10867
10867
  ],
10868
- "id": 48753,
10868
+ "id": 48764,
10869
10869
  "isConstant": false,
10870
10870
  "isLValue": false,
10871
10871
  "isPure": true,
@@ -10877,14 +10877,14 @@
10877
10877
  "typeString": "type(address)"
10878
10878
  },
10879
10879
  "typeName": {
10880
- "id": 48752,
10880
+ "id": 48763,
10881
10881
  "name": "address",
10882
10882
  "nodeType": "ElementaryTypeName",
10883
10883
  "src": "1345:7:116",
10884
10884
  "typeDescriptions": {}
10885
10885
  }
10886
10886
  },
10887
- "id": 48755,
10887
+ "id": 48766,
10888
10888
  "isConstant": false,
10889
10889
  "isLValue": false,
10890
10890
  "isPure": true,
@@ -10908,7 +10908,7 @@
10908
10908
  },
10909
10909
  {
10910
10910
  "hexValue": "6261636b656e642063616e2774206265207a65726f",
10911
- "id": 48757,
10911
+ "id": 48768,
10912
10912
  "isConstant": false,
10913
10913
  "isLValue": false,
10914
10914
  "isPure": true,
@@ -10934,7 +10934,7 @@
10934
10934
  "typeString": "literal_string \"backend can't be zero\""
10935
10935
  }
10936
10936
  ],
10937
- "id": 48748,
10937
+ "id": 48759,
10938
10938
  "name": "require",
10939
10939
  "nodeType": "Identifier",
10940
10940
  "overloadedDeclarations": [
@@ -10948,7 +10948,7 @@
10948
10948
  "typeString": "function (bool,string memory) pure"
10949
10949
  }
10950
10950
  },
10951
- "id": 48758,
10951
+ "id": 48769,
10952
10952
  "isConstant": false,
10953
10953
  "isLValue": false,
10954
10954
  "isPure": false,
@@ -10964,7 +10964,7 @@
10964
10964
  "typeString": "tuple()"
10965
10965
  }
10966
10966
  },
10967
- "id": 48759,
10967
+ "id": 48770,
10968
10968
  "nodeType": "ExpressionStatement",
10969
10969
  "src": "1319:62:116"
10970
10970
  },
@@ -10972,11 +10972,11 @@
10972
10972
  "expression": {
10973
10973
  "arguments": [
10974
10974
  {
10975
- "id": 48761,
10975
+ "id": 48772,
10976
10976
  "name": "BACKEND_ROLE",
10977
10977
  "nodeType": "Identifier",
10978
10978
  "overloadedDeclarations": [],
10979
- "referencedDeclaration": 48702,
10979
+ "referencedDeclaration": 48713,
10980
10980
  "src": "1406:12:116",
10981
10981
  "typeDescriptions": {
10982
10982
  "typeIdentifier": "t_bytes32",
@@ -10985,24 +10985,24 @@
10985
10985
  },
10986
10986
  {
10987
10987
  "baseExpression": {
10988
- "id": 48762,
10988
+ "id": 48773,
10989
10989
  "name": "backendAddr",
10990
10990
  "nodeType": "Identifier",
10991
10991
  "overloadedDeclarations": [],
10992
- "referencedDeclaration": 48719,
10992
+ "referencedDeclaration": 48730,
10993
10993
  "src": "1420:11:116",
10994
10994
  "typeDescriptions": {
10995
10995
  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
10996
10996
  "typeString": "address[] memory"
10997
10997
  }
10998
10998
  },
10999
- "id": 48764,
10999
+ "id": 48775,
11000
11000
  "indexExpression": {
11001
- "id": 48763,
11001
+ "id": 48774,
11002
11002
  "name": "i",
11003
11003
  "nodeType": "Identifier",
11004
11004
  "overloadedDeclarations": [],
11005
- "referencedDeclaration": 48738,
11005
+ "referencedDeclaration": 48749,
11006
11006
  "src": "1432:1:116",
11007
11007
  "typeDescriptions": {
11008
11008
  "typeIdentifier": "t_uint256",
@@ -11032,7 +11032,7 @@
11032
11032
  "typeString": "address"
11033
11033
  }
11034
11034
  ],
11035
- "id": 48760,
11035
+ "id": 48771,
11036
11036
  "name": "_setupRole",
11037
11037
  "nodeType": "Identifier",
11038
11038
  "overloadedDeclarations": [],
@@ -11043,7 +11043,7 @@
11043
11043
  "typeString": "function (bytes32,address)"
11044
11044
  }
11045
11045
  },
11046
- "id": 48765,
11046
+ "id": 48776,
11047
11047
  "isConstant": false,
11048
11048
  "isLValue": false,
11049
11049
  "isPure": false,
@@ -11059,7 +11059,7 @@
11059
11059
  "typeString": "tuple()"
11060
11060
  }
11061
11061
  },
11062
- "id": 48766,
11062
+ "id": 48777,
11063
11063
  "nodeType": "ExpressionStatement",
11064
11064
  "src": "1395:40:116"
11065
11065
  }
@@ -11070,17 +11070,17 @@
11070
11070
  "typeIdentifier": "t_uint256",
11071
11071
  "typeString": "uint256"
11072
11072
  },
11073
- "id": 48744,
11073
+ "id": 48755,
11074
11074
  "isConstant": false,
11075
11075
  "isLValue": false,
11076
11076
  "isPure": false,
11077
11077
  "lValueRequested": false,
11078
11078
  "leftExpression": {
11079
- "id": 48741,
11079
+ "id": 48752,
11080
11080
  "name": "i",
11081
11081
  "nodeType": "Identifier",
11082
11082
  "overloadedDeclarations": [],
11083
- "referencedDeclaration": 48738,
11083
+ "referencedDeclaration": 48749,
11084
11084
  "src": "1276:1:116",
11085
11085
  "typeDescriptions": {
11086
11086
  "typeIdentifier": "t_uint256",
@@ -11091,18 +11091,18 @@
11091
11091
  "operator": "<",
11092
11092
  "rightExpression": {
11093
11093
  "expression": {
11094
- "id": 48742,
11094
+ "id": 48753,
11095
11095
  "name": "backendAddr",
11096
11096
  "nodeType": "Identifier",
11097
11097
  "overloadedDeclarations": [],
11098
- "referencedDeclaration": 48719,
11098
+ "referencedDeclaration": 48730,
11099
11099
  "src": "1280:11:116",
11100
11100
  "typeDescriptions": {
11101
11101
  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
11102
11102
  "typeString": "address[] memory"
11103
11103
  }
11104
11104
  },
11105
- "id": 48743,
11105
+ "id": 48754,
11106
11106
  "isConstant": false,
11107
11107
  "isLValue": false,
11108
11108
  "isPure": false,
@@ -11122,20 +11122,20 @@
11122
11122
  "typeString": "bool"
11123
11123
  }
11124
11124
  },
11125
- "id": 48768,
11125
+ "id": 48779,
11126
11126
  "initializationExpression": {
11127
11127
  "assignments": [
11128
- 48738
11128
+ 48749
11129
11129
  ],
11130
11130
  "declarations": [
11131
11131
  {
11132
11132
  "constant": false,
11133
- "id": 48738,
11133
+ "id": 48749,
11134
11134
  "mutability": "mutable",
11135
11135
  "name": "i",
11136
11136
  "nameLocation": "1269:1:116",
11137
11137
  "nodeType": "VariableDeclaration",
11138
- "scope": 48768,
11138
+ "scope": 48779,
11139
11139
  "src": "1261:9:116",
11140
11140
  "stateVariable": false,
11141
11141
  "storageLocation": "default",
@@ -11144,7 +11144,7 @@
11144
11144
  "typeString": "uint256"
11145
11145
  },
11146
11146
  "typeName": {
11147
- "id": 48737,
11147
+ "id": 48748,
11148
11148
  "name": "uint256",
11149
11149
  "nodeType": "ElementaryTypeName",
11150
11150
  "src": "1261:7:116",
@@ -11156,10 +11156,10 @@
11156
11156
  "visibility": "internal"
11157
11157
  }
11158
11158
  ],
11159
- "id": 48740,
11159
+ "id": 48751,
11160
11160
  "initialValue": {
11161
11161
  "hexValue": "30",
11162
- "id": 48739,
11162
+ "id": 48750,
11163
11163
  "isConstant": false,
11164
11164
  "isLValue": false,
11165
11165
  "isPure": true,
@@ -11178,7 +11178,7 @@
11178
11178
  },
11179
11179
  "loopExpression": {
11180
11180
  "expression": {
11181
- "id": 48746,
11181
+ "id": 48757,
11182
11182
  "isConstant": false,
11183
11183
  "isLValue": false,
11184
11184
  "isPure": false,
@@ -11188,11 +11188,11 @@
11188
11188
  "prefix": true,
11189
11189
  "src": "1300:3:116",
11190
11190
  "subExpression": {
11191
- "id": 48745,
11191
+ "id": 48756,
11192
11192
  "name": "i",
11193
11193
  "nodeType": "Identifier",
11194
11194
  "overloadedDeclarations": [],
11195
- "referencedDeclaration": 48738,
11195
+ "referencedDeclaration": 48749,
11196
11196
  "src": "1302:1:116",
11197
11197
  "typeDescriptions": {
11198
11198
  "typeIdentifier": "t_uint256",
@@ -11204,7 +11204,7 @@
11204
11204
  "typeString": "uint256"
11205
11205
  }
11206
11206
  },
11207
- "id": 48747,
11207
+ "id": 48758,
11208
11208
  "nodeType": "ExpressionStatement",
11209
11209
  "src": "1300:3:116"
11210
11210
  },
@@ -11213,7 +11213,7 @@
11213
11213
  }
11214
11214
  ]
11215
11215
  },
11216
- "id": 48770,
11216
+ "id": 48781,
11217
11217
  "implemented": true,
11218
11218
  "kind": "constructor",
11219
11219
  "modifiers": [],
@@ -11221,17 +11221,17 @@
11221
11221
  "nameLocation": "-1:-1:-1",
11222
11222
  "nodeType": "FunctionDefinition",
11223
11223
  "parameters": {
11224
- "id": 48720,
11224
+ "id": 48731,
11225
11225
  "nodeType": "ParameterList",
11226
11226
  "parameters": [
11227
11227
  {
11228
11228
  "constant": false,
11229
- "id": 48716,
11229
+ "id": 48727,
11230
11230
  "mutability": "mutable",
11231
11231
  "name": "adminRole",
11232
11232
  "nameLocation": "1090:9:116",
11233
11233
  "nodeType": "VariableDeclaration",
11234
- "scope": 48770,
11234
+ "scope": 48781,
11235
11235
  "src": "1082:17:116",
11236
11236
  "stateVariable": false,
11237
11237
  "storageLocation": "default",
@@ -11240,7 +11240,7 @@
11240
11240
  "typeString": "address"
11241
11241
  },
11242
11242
  "typeName": {
11243
- "id": 48715,
11243
+ "id": 48726,
11244
11244
  "name": "address",
11245
11245
  "nodeType": "ElementaryTypeName",
11246
11246
  "src": "1082:7:116",
@@ -11254,12 +11254,12 @@
11254
11254
  },
11255
11255
  {
11256
11256
  "constant": false,
11257
- "id": 48719,
11257
+ "id": 48730,
11258
11258
  "mutability": "mutable",
11259
11259
  "name": "backendAddr",
11260
11260
  "nameLocation": "1118:11:116",
11261
11261
  "nodeType": "VariableDeclaration",
11262
- "scope": 48770,
11262
+ "scope": 48781,
11263
11263
  "src": "1101:28:116",
11264
11264
  "stateVariable": false,
11265
11265
  "storageLocation": "memory",
@@ -11269,7 +11269,7 @@
11269
11269
  },
11270
11270
  "typeName": {
11271
11271
  "baseType": {
11272
- "id": 48717,
11272
+ "id": 48728,
11273
11273
  "name": "address",
11274
11274
  "nodeType": "ElementaryTypeName",
11275
11275
  "src": "1101:7:116",
@@ -11279,7 +11279,7 @@
11279
11279
  "typeString": "address"
11280
11280
  }
11281
11281
  },
11282
- "id": 48718,
11282
+ "id": 48729,
11283
11283
  "nodeType": "ArrayTypeName",
11284
11284
  "src": "1101:9:116",
11285
11285
  "typeDescriptions": {
@@ -11293,12 +11293,12 @@
11293
11293
  "src": "1081:49:116"
11294
11294
  },
11295
11295
  "returnParameters": {
11296
- "id": 48721,
11296
+ "id": 48732,
11297
11297
  "nodeType": "ParameterList",
11298
11298
  "parameters": [],
11299
11299
  "src": "1131:0:116"
11300
11300
  },
11301
- "scope": 49007,
11301
+ "scope": 49018,
11302
11302
  "src": "1070:382:116",
11303
11303
  "stateMutability": "nonpayable",
11304
11304
  "virtual": false,
@@ -11306,7 +11306,7 @@
11306
11306
  },
11307
11307
  {
11308
11308
  "body": {
11309
- "id": 48876,
11309
+ "id": 48887,
11310
11310
  "nodeType": "Block",
11311
11311
  "src": "1899:764:116",
11312
11312
  "statements": [
@@ -11318,7 +11318,7 @@
11318
11318
  "typeIdentifier": "t_bool",
11319
11319
  "typeString": "bool"
11320
11320
  },
11321
- "id": 48796,
11321
+ "id": 48807,
11322
11322
  "isConstant": false,
11323
11323
  "isLValue": false,
11324
11324
  "isPure": false,
@@ -11328,14 +11328,14 @@
11328
11328
  "typeIdentifier": "t_address",
11329
11329
  "typeString": "address"
11330
11330
  },
11331
- "id": 48784,
11331
+ "id": 48795,
11332
11332
  "isConstant": false,
11333
11333
  "isLValue": false,
11334
11334
  "isPure": false,
11335
11335
  "lValueRequested": false,
11336
11336
  "leftExpression": {
11337
11337
  "expression": {
11338
- "id": 48781,
11338
+ "id": 48792,
11339
11339
  "name": "msg",
11340
11340
  "nodeType": "Identifier",
11341
11341
  "overloadedDeclarations": [],
@@ -11346,7 +11346,7 @@
11346
11346
  "typeString": "msg"
11347
11347
  }
11348
11348
  },
11349
- "id": 48782,
11349
+ "id": 48793,
11350
11350
  "isConstant": false,
11351
11351
  "isLValue": false,
11352
11352
  "isPure": false,
@@ -11363,11 +11363,11 @@
11363
11363
  "nodeType": "BinaryOperation",
11364
11364
  "operator": "==",
11365
11365
  "rightExpression": {
11366
- "id": 48783,
11366
+ "id": 48794,
11367
11367
  "name": "account",
11368
11368
  "nodeType": "Identifier",
11369
11369
  "overloadedDeclarations": [],
11370
- "referencedDeclaration": 48775,
11370
+ "referencedDeclaration": 48786,
11371
11371
  "src": "1931:7:116",
11372
11372
  "typeDescriptions": {
11373
11373
  "typeIdentifier": "t_address",
@@ -11389,7 +11389,7 @@
11389
11389
  "typeIdentifier": "t_bool",
11390
11390
  "typeString": "bool"
11391
11391
  },
11392
- "id": 48794,
11392
+ "id": 48805,
11393
11393
  "isConstant": false,
11394
11394
  "isLValue": false,
11395
11395
  "isPure": false,
@@ -11397,11 +11397,11 @@
11397
11397
  "leftExpression": {
11398
11398
  "arguments": [
11399
11399
  {
11400
- "id": 48786,
11400
+ "id": 48797,
11401
11401
  "name": "BACKEND_ROLE",
11402
11402
  "nodeType": "Identifier",
11403
11403
  "overloadedDeclarations": [],
11404
- "referencedDeclaration": 48702,
11404
+ "referencedDeclaration": 48713,
11405
11405
  "src": "1963:12:116",
11406
11406
  "typeDescriptions": {
11407
11407
  "typeIdentifier": "t_bytes32",
@@ -11410,7 +11410,7 @@
11410
11410
  },
11411
11411
  {
11412
11412
  "expression": {
11413
- "id": 48787,
11413
+ "id": 48798,
11414
11414
  "name": "msg",
11415
11415
  "nodeType": "Identifier",
11416
11416
  "overloadedDeclarations": [],
@@ -11421,7 +11421,7 @@
11421
11421
  "typeString": "msg"
11422
11422
  }
11423
11423
  },
11424
- "id": 48788,
11424
+ "id": 48799,
11425
11425
  "isConstant": false,
11426
11426
  "isLValue": false,
11427
11427
  "isPure": false,
@@ -11447,7 +11447,7 @@
11447
11447
  "typeString": "address"
11448
11448
  }
11449
11449
  ],
11450
- "id": 48785,
11450
+ "id": 48796,
11451
11451
  "name": "hasRole",
11452
11452
  "nodeType": "Identifier",
11453
11453
  "overloadedDeclarations": [],
@@ -11458,7 +11458,7 @@
11458
11458
  "typeString": "function (bytes32,address) view returns (bool)"
11459
11459
  }
11460
11460
  },
11461
- "id": 48789,
11461
+ "id": 48800,
11462
11462
  "isConstant": false,
11463
11463
  "isLValue": false,
11464
11464
  "isPure": false,
@@ -11477,7 +11477,7 @@
11477
11477
  "nodeType": "BinaryOperation",
11478
11478
  "operator": "&&",
11479
11479
  "rightExpression": {
11480
- "id": 48793,
11480
+ "id": 48804,
11481
11481
  "isConstant": false,
11482
11482
  "isLValue": false,
11483
11483
  "isPure": false,
@@ -11488,24 +11488,24 @@
11488
11488
  "src": "2004:17:116",
11489
11489
  "subExpression": {
11490
11490
  "baseExpression": {
11491
- "id": 48790,
11491
+ "id": 48801,
11492
11492
  "name": "_optout",
11493
11493
  "nodeType": "Identifier",
11494
11494
  "overloadedDeclarations": [],
11495
- "referencedDeclaration": 48714,
11495
+ "referencedDeclaration": 48725,
11496
11496
  "src": "2005:7:116",
11497
11497
  "typeDescriptions": {
11498
11498
  "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
11499
11499
  "typeString": "mapping(address => bool)"
11500
11500
  }
11501
11501
  },
11502
- "id": 48792,
11502
+ "id": 48803,
11503
11503
  "indexExpression": {
11504
- "id": 48791,
11504
+ "id": 48802,
11505
11505
  "name": "account",
11506
11506
  "nodeType": "Identifier",
11507
11507
  "overloadedDeclarations": [],
11508
- "referencedDeclaration": 48775,
11508
+ "referencedDeclaration": 48786,
11509
11509
  "src": "2013:7:116",
11510
11510
  "typeDescriptions": {
11511
11511
  "typeIdentifier": "t_address",
@@ -11535,7 +11535,7 @@
11535
11535
  }
11536
11536
  }
11537
11537
  ],
11538
- "id": 48795,
11538
+ "id": 48806,
11539
11539
  "isConstant": false,
11540
11540
  "isInlineArray": false,
11541
11541
  "isLValue": false,
@@ -11556,7 +11556,7 @@
11556
11556
  },
11557
11557
  {
11558
11558
  "hexValue": "6f7065726174696f6e206e6f7420616c6c6f776564",
11559
- "id": 48797,
11559
+ "id": 48808,
11560
11560
  "isConstant": false,
11561
11561
  "isLValue": false,
11562
11562
  "isPure": true,
@@ -11582,7 +11582,7 @@
11582
11582
  "typeString": "literal_string \"operation not allowed\""
11583
11583
  }
11584
11584
  ],
11585
- "id": 48780,
11585
+ "id": 48791,
11586
11586
  "name": "require",
11587
11587
  "nodeType": "Identifier",
11588
11588
  "overloadedDeclarations": [
@@ -11596,7 +11596,7 @@
11596
11596
  "typeString": "function (bool,string memory) pure"
11597
11597
  }
11598
11598
  },
11599
- "id": 48798,
11599
+ "id": 48809,
11600
11600
  "isConstant": false,
11601
11601
  "isLValue": false,
11602
11602
  "isPure": false,
@@ -11612,62 +11612,62 @@
11612
11612
  "typeString": "tuple()"
11613
11613
  }
11614
11614
  },
11615
- "id": 48799,
11615
+ "id": 48810,
11616
11616
  "nodeType": "ExpressionStatement",
11617
11617
  "src": "1909:148:116"
11618
11618
  },
11619
11619
  {
11620
11620
  "assignments": [
11621
- 48802
11621
+ 48813
11622
11622
  ],
11623
11623
  "declarations": [
11624
11624
  {
11625
11625
  "constant": false,
11626
- "id": 48802,
11626
+ "id": 48813,
11627
11627
  "mutability": "mutable",
11628
11628
  "name": "superToken",
11629
11629
  "nameLocation": "2111:10:116",
11630
11630
  "nodeType": "VariableDeclaration",
11631
- "scope": 48876,
11631
+ "scope": 48887,
11632
11632
  "src": "2099:22:116",
11633
11633
  "stateVariable": false,
11634
11634
  "storageLocation": "default",
11635
11635
  "typeDescriptions": {
11636
- "typeIdentifier": "t_contract$_ISuperToken_$24383",
11636
+ "typeIdentifier": "t_contract$_ISuperToken_$24394",
11637
11637
  "typeString": "contract ISuperToken"
11638
11638
  },
11639
11639
  "typeName": {
11640
- "id": 48801,
11640
+ "id": 48812,
11641
11641
  "nodeType": "UserDefinedTypeName",
11642
11642
  "pathNode": {
11643
- "id": 48800,
11643
+ "id": 48811,
11644
11644
  "name": "ISuperToken",
11645
11645
  "nameLocations": [
11646
11646
  "2099:11:116"
11647
11647
  ],
11648
11648
  "nodeType": "IdentifierPath",
11649
- "referencedDeclaration": 24383,
11649
+ "referencedDeclaration": 24394,
11650
11650
  "src": "2099:11:116"
11651
11651
  },
11652
- "referencedDeclaration": 24383,
11652
+ "referencedDeclaration": 24394,
11653
11653
  "src": "2099:11:116",
11654
11654
  "typeDescriptions": {
11655
- "typeIdentifier": "t_contract$_ISuperToken_$24383",
11655
+ "typeIdentifier": "t_contract$_ISuperToken_$24394",
11656
11656
  "typeString": "contract ISuperToken"
11657
11657
  }
11658
11658
  },
11659
11659
  "visibility": "internal"
11660
11660
  }
11661
11661
  ],
11662
- "id": 48806,
11662
+ "id": 48817,
11663
11663
  "initialValue": {
11664
11664
  "arguments": [
11665
11665
  {
11666
- "id": 48804,
11666
+ "id": 48815,
11667
11667
  "name": "superTokenAddr",
11668
11668
  "nodeType": "Identifier",
11669
11669
  "overloadedDeclarations": [],
11670
- "referencedDeclaration": 48773,
11670
+ "referencedDeclaration": 48784,
11671
11671
  "src": "2136:14:116",
11672
11672
  "typeDescriptions": {
11673
11673
  "typeIdentifier": "t_address",
@@ -11682,18 +11682,18 @@
11682
11682
  "typeString": "address"
11683
11683
  }
11684
11684
  ],
11685
- "id": 48803,
11685
+ "id": 48814,
11686
11686
  "name": "ISuperToken",
11687
11687
  "nodeType": "Identifier",
11688
11688
  "overloadedDeclarations": [],
11689
- "referencedDeclaration": 24383,
11689
+ "referencedDeclaration": 24394,
11690
11690
  "src": "2124:11:116",
11691
11691
  "typeDescriptions": {
11692
- "typeIdentifier": "t_type$_t_contract$_ISuperToken_$24383_$",
11692
+ "typeIdentifier": "t_type$_t_contract$_ISuperToken_$24394_$",
11693
11693
  "typeString": "type(contract ISuperToken)"
11694
11694
  }
11695
11695
  },
11696
- "id": 48805,
11696
+ "id": 48816,
11697
11697
  "isConstant": false,
11698
11698
  "isLValue": false,
11699
11699
  "isPure": false,
@@ -11705,7 +11705,7 @@
11705
11705
  "src": "2124:27:116",
11706
11706
  "tryCall": false,
11707
11707
  "typeDescriptions": {
11708
- "typeIdentifier": "t_contract$_ISuperToken_$24383",
11708
+ "typeIdentifier": "t_contract$_ISuperToken_$24394",
11709
11709
  "typeString": "contract ISuperToken"
11710
11710
  }
11711
11711
  },
@@ -11714,17 +11714,17 @@
11714
11714
  },
11715
11715
  {
11716
11716
  "assignments": [
11717
- 48809
11717
+ 48820
11718
11718
  ],
11719
11719
  "declarations": [
11720
11720
  {
11721
11721
  "constant": false,
11722
- "id": 48809,
11722
+ "id": 48820,
11723
11723
  "mutability": "mutable",
11724
11724
  "name": "token",
11725
11725
  "nameLocation": "2200:5:116",
11726
11726
  "nodeType": "VariableDeclaration",
11727
- "scope": 48876,
11727
+ "scope": 48887,
11728
11728
  "src": "2193:12:116",
11729
11729
  "stateVariable": false,
11730
11730
  "storageLocation": "default",
@@ -11733,10 +11733,10 @@
11733
11733
  "typeString": "contract IERC20"
11734
11734
  },
11735
11735
  "typeName": {
11736
- "id": 48808,
11736
+ "id": 48819,
11737
11737
  "nodeType": "UserDefinedTypeName",
11738
11738
  "pathNode": {
11739
- "id": 48807,
11739
+ "id": 48818,
11740
11740
  "name": "IERC20",
11741
11741
  "nameLocations": [
11742
11742
  "2193:6:116"
@@ -11755,7 +11755,7 @@
11755
11755
  "visibility": "internal"
11756
11756
  }
11757
11757
  ],
11758
- "id": 48815,
11758
+ "id": 48826,
11759
11759
  "initialValue": {
11760
11760
  "arguments": [
11761
11761
  {
@@ -11763,18 +11763,18 @@
11763
11763
  "expression": {
11764
11764
  "argumentTypes": [],
11765
11765
  "expression": {
11766
- "id": 48811,
11766
+ "id": 48822,
11767
11767
  "name": "superToken",
11768
11768
  "nodeType": "Identifier",
11769
11769
  "overloadedDeclarations": [],
11770
- "referencedDeclaration": 48802,
11770
+ "referencedDeclaration": 48813,
11771
11771
  "src": "2215:10:116",
11772
11772
  "typeDescriptions": {
11773
- "typeIdentifier": "t_contract$_ISuperToken_$24383",
11773
+ "typeIdentifier": "t_contract$_ISuperToken_$24394",
11774
11774
  "typeString": "contract ISuperToken"
11775
11775
  }
11776
11776
  },
11777
- "id": 48812,
11777
+ "id": 48823,
11778
11778
  "isConstant": false,
11779
11779
  "isLValue": false,
11780
11780
  "isPure": false,
@@ -11782,14 +11782,14 @@
11782
11782
  "memberLocation": "2226:18:116",
11783
11783
  "memberName": "getUnderlyingToken",
11784
11784
  "nodeType": "MemberAccess",
11785
- "referencedDeclaration": 24258,
11785
+ "referencedDeclaration": 24269,
11786
11786
  "src": "2215:29:116",
11787
11787
  "typeDescriptions": {
11788
11788
  "typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
11789
11789
  "typeString": "function () view external returns (address)"
11790
11790
  }
11791
11791
  },
11792
- "id": 48813,
11792
+ "id": 48824,
11793
11793
  "isConstant": false,
11794
11794
  "isLValue": false,
11795
11795
  "isPure": false,
@@ -11813,7 +11813,7 @@
11813
11813
  "typeString": "address"
11814
11814
  }
11815
11815
  ],
11816
- "id": 48810,
11816
+ "id": 48821,
11817
11817
  "name": "IERC20",
11818
11818
  "nodeType": "Identifier",
11819
11819
  "overloadedDeclarations": [],
@@ -11824,7 +11824,7 @@
11824
11824
  "typeString": "type(contract IERC20)"
11825
11825
  }
11826
11826
  },
11827
- "id": 48814,
11827
+ "id": 48825,
11828
11828
  "isConstant": false,
11829
11829
  "isLValue": false,
11830
11830
  "isPure": false,
@@ -11845,17 +11845,17 @@
11845
11845
  },
11846
11846
  {
11847
11847
  "assignments": [
11848
- 48817
11848
+ 48828
11849
11849
  ],
11850
11850
  "declarations": [
11851
11851
  {
11852
11852
  "constant": false,
11853
- "id": 48817,
11853
+ "id": 48828,
11854
11854
  "mutability": "mutable",
11855
11855
  "name": "beforeBalance",
11856
11856
  "nameLocation": "2265:13:116",
11857
11857
  "nodeType": "VariableDeclaration",
11858
- "scope": 48876,
11858
+ "scope": 48887,
11859
11859
  "src": "2257:21:116",
11860
11860
  "stateVariable": false,
11861
11861
  "storageLocation": "default",
@@ -11864,7 +11864,7 @@
11864
11864
  "typeString": "uint256"
11865
11865
  },
11866
11866
  "typeName": {
11867
- "id": 48816,
11867
+ "id": 48827,
11868
11868
  "name": "uint256",
11869
11869
  "nodeType": "ElementaryTypeName",
11870
11870
  "src": "2257:7:116",
@@ -11876,20 +11876,20 @@
11876
11876
  "visibility": "internal"
11877
11877
  }
11878
11878
  ],
11879
- "id": 48825,
11879
+ "id": 48836,
11880
11880
  "initialValue": {
11881
11881
  "arguments": [
11882
11882
  {
11883
11883
  "arguments": [
11884
11884
  {
11885
- "id": 48822,
11885
+ "id": 48833,
11886
11886
  "name": "this",
11887
11887
  "nodeType": "Identifier",
11888
11888
  "overloadedDeclarations": [],
11889
11889
  "referencedDeclaration": 4294967268,
11890
11890
  "src": "2305:4:116",
11891
11891
  "typeDescriptions": {
11892
- "typeIdentifier": "t_contract$_SuperUpgrader_$49007",
11892
+ "typeIdentifier": "t_contract$_SuperUpgrader_$49018",
11893
11893
  "typeString": "contract SuperUpgrader"
11894
11894
  }
11895
11895
  }
@@ -11897,11 +11897,11 @@
11897
11897
  "expression": {
11898
11898
  "argumentTypes": [
11899
11899
  {
11900
- "typeIdentifier": "t_contract$_SuperUpgrader_$49007",
11900
+ "typeIdentifier": "t_contract$_SuperUpgrader_$49018",
11901
11901
  "typeString": "contract SuperUpgrader"
11902
11902
  }
11903
11903
  ],
11904
- "id": 48821,
11904
+ "id": 48832,
11905
11905
  "isConstant": false,
11906
11906
  "isLValue": false,
11907
11907
  "isPure": true,
@@ -11913,14 +11913,14 @@
11913
11913
  "typeString": "type(address)"
11914
11914
  },
11915
11915
  "typeName": {
11916
- "id": 48820,
11916
+ "id": 48831,
11917
11917
  "name": "address",
11918
11918
  "nodeType": "ElementaryTypeName",
11919
11919
  "src": "2297:7:116",
11920
11920
  "typeDescriptions": {}
11921
11921
  }
11922
11922
  },
11923
- "id": 48823,
11923
+ "id": 48834,
11924
11924
  "isConstant": false,
11925
11925
  "isLValue": false,
11926
11926
  "isPure": false,
@@ -11945,18 +11945,18 @@
11945
11945
  }
11946
11946
  ],
11947
11947
  "expression": {
11948
- "id": 48818,
11948
+ "id": 48829,
11949
11949
  "name": "token",
11950
11950
  "nodeType": "Identifier",
11951
11951
  "overloadedDeclarations": [],
11952
- "referencedDeclaration": 48809,
11952
+ "referencedDeclaration": 48820,
11953
11953
  "src": "2281:5:116",
11954
11954
  "typeDescriptions": {
11955
11955
  "typeIdentifier": "t_contract$_IERC20_$1540",
11956
11956
  "typeString": "contract IERC20"
11957
11957
  }
11958
11958
  },
11959
- "id": 48819,
11959
+ "id": 48830,
11960
11960
  "isConstant": false,
11961
11961
  "isLValue": false,
11962
11962
  "isPure": false,
@@ -11971,7 +11971,7 @@
11971
11971
  "typeString": "function (address) view external returns (uint256)"
11972
11972
  }
11973
11973
  },
11974
- "id": 48824,
11974
+ "id": 48835,
11975
11975
  "isConstant": false,
11976
11976
  "isLValue": false,
11977
11977
  "isPure": false,
@@ -11994,11 +11994,11 @@
11994
11994
  "expression": {
11995
11995
  "arguments": [
11996
11996
  {
11997
- "id": 48829,
11997
+ "id": 48840,
11998
11998
  "name": "account",
11999
11999
  "nodeType": "Identifier",
12000
12000
  "overloadedDeclarations": [],
12001
- "referencedDeclaration": 48775,
12001
+ "referencedDeclaration": 48786,
12002
12002
  "src": "2344:7:116",
12003
12003
  "typeDescriptions": {
12004
12004
  "typeIdentifier": "t_address",
@@ -12008,14 +12008,14 @@
12008
12008
  {
12009
12009
  "arguments": [
12010
12010
  {
12011
- "id": 48832,
12011
+ "id": 48843,
12012
12012
  "name": "this",
12013
12013
  "nodeType": "Identifier",
12014
12014
  "overloadedDeclarations": [],
12015
12015
  "referencedDeclaration": 4294967268,
12016
12016
  "src": "2361:4:116",
12017
12017
  "typeDescriptions": {
12018
- "typeIdentifier": "t_contract$_SuperUpgrader_$49007",
12018
+ "typeIdentifier": "t_contract$_SuperUpgrader_$49018",
12019
12019
  "typeString": "contract SuperUpgrader"
12020
12020
  }
12021
12021
  }
@@ -12023,11 +12023,11 @@
12023
12023
  "expression": {
12024
12024
  "argumentTypes": [
12025
12025
  {
12026
- "typeIdentifier": "t_contract$_SuperUpgrader_$49007",
12026
+ "typeIdentifier": "t_contract$_SuperUpgrader_$49018",
12027
12027
  "typeString": "contract SuperUpgrader"
12028
12028
  }
12029
12029
  ],
12030
- "id": 48831,
12030
+ "id": 48842,
12031
12031
  "isConstant": false,
12032
12032
  "isLValue": false,
12033
12033
  "isPure": true,
@@ -12039,14 +12039,14 @@
12039
12039
  "typeString": "type(address)"
12040
12040
  },
12041
12041
  "typeName": {
12042
- "id": 48830,
12042
+ "id": 48841,
12043
12043
  "name": "address",
12044
12044
  "nodeType": "ElementaryTypeName",
12045
12045
  "src": "2353:7:116",
12046
12046
  "typeDescriptions": {}
12047
12047
  }
12048
12048
  },
12049
- "id": 48833,
12049
+ "id": 48844,
12050
12050
  "isConstant": false,
12051
12051
  "isLValue": false,
12052
12052
  "isPure": false,
@@ -12063,11 +12063,11 @@
12063
12063
  }
12064
12064
  },
12065
12065
  {
12066
- "id": 48834,
12066
+ "id": 48845,
12067
12067
  "name": "amount",
12068
12068
  "nodeType": "Identifier",
12069
12069
  "overloadedDeclarations": [],
12070
- "referencedDeclaration": 48777,
12070
+ "referencedDeclaration": 48788,
12071
12071
  "src": "2368:6:116",
12072
12072
  "typeDescriptions": {
12073
12073
  "typeIdentifier": "t_uint256",
@@ -12091,18 +12091,18 @@
12091
12091
  }
12092
12092
  ],
12093
12093
  "expression": {
12094
- "id": 48826,
12094
+ "id": 48837,
12095
12095
  "name": "token",
12096
12096
  "nodeType": "Identifier",
12097
12097
  "overloadedDeclarations": [],
12098
- "referencedDeclaration": 48809,
12098
+ "referencedDeclaration": 48820,
12099
12099
  "src": "2321:5:116",
12100
12100
  "typeDescriptions": {
12101
12101
  "typeIdentifier": "t_contract$_IERC20_$1540",
12102
12102
  "typeString": "contract IERC20"
12103
12103
  }
12104
12104
  },
12105
- "id": 48828,
12105
+ "id": 48839,
12106
12106
  "isConstant": false,
12107
12107
  "isLValue": false,
12108
12108
  "isPure": false,
@@ -12117,7 +12117,7 @@
12117
12117
  "typeString": "function (contract IERC20,address,address,uint256)"
12118
12118
  }
12119
12119
  },
12120
- "id": 48835,
12120
+ "id": 48846,
12121
12121
  "isConstant": false,
12122
12122
  "isLValue": false,
12123
12123
  "isPure": false,
@@ -12133,7 +12133,7 @@
12133
12133
  "typeString": "tuple()"
12134
12134
  }
12135
12135
  },
12136
- "id": 48836,
12136
+ "id": 48847,
12137
12137
  "nodeType": "ExpressionStatement",
12138
12138
  "src": "2321:54:116"
12139
12139
  },
@@ -12143,14 +12143,14 @@
12143
12143
  {
12144
12144
  "arguments": [
12145
12145
  {
12146
- "id": 48842,
12146
+ "id": 48853,
12147
12147
  "name": "superToken",
12148
12148
  "nodeType": "Identifier",
12149
12149
  "overloadedDeclarations": [],
12150
- "referencedDeclaration": 48802,
12150
+ "referencedDeclaration": 48813,
12151
12151
  "src": "2411:10:116",
12152
12152
  "typeDescriptions": {
12153
- "typeIdentifier": "t_contract$_ISuperToken_$24383",
12153
+ "typeIdentifier": "t_contract$_ISuperToken_$24394",
12154
12154
  "typeString": "contract ISuperToken"
12155
12155
  }
12156
12156
  }
@@ -12158,11 +12158,11 @@
12158
12158
  "expression": {
12159
12159
  "argumentTypes": [
12160
12160
  {
12161
- "typeIdentifier": "t_contract$_ISuperToken_$24383",
12161
+ "typeIdentifier": "t_contract$_ISuperToken_$24394",
12162
12162
  "typeString": "contract ISuperToken"
12163
12163
  }
12164
12164
  ],
12165
- "id": 48841,
12165
+ "id": 48852,
12166
12166
  "isConstant": false,
12167
12167
  "isLValue": false,
12168
12168
  "isPure": true,
@@ -12174,14 +12174,14 @@
12174
12174
  "typeString": "type(address)"
12175
12175
  },
12176
12176
  "typeName": {
12177
- "id": 48840,
12177
+ "id": 48851,
12178
12178
  "name": "address",
12179
12179
  "nodeType": "ElementaryTypeName",
12180
12180
  "src": "2403:7:116",
12181
12181
  "typeDescriptions": {}
12182
12182
  }
12183
12183
  },
12184
- "id": 48843,
12184
+ "id": 48854,
12185
12185
  "isConstant": false,
12186
12186
  "isLValue": false,
12187
12187
  "isPure": false,
@@ -12199,7 +12199,7 @@
12199
12199
  },
12200
12200
  {
12201
12201
  "hexValue": "30",
12202
- "id": 48844,
12202
+ "id": 48855,
12203
12203
  "isConstant": false,
12204
12204
  "isLValue": false,
12205
12205
  "isPure": true,
@@ -12226,18 +12226,18 @@
12226
12226
  }
12227
12227
  ],
12228
12228
  "expression": {
12229
- "id": 48837,
12229
+ "id": 48848,
12230
12230
  "name": "token",
12231
12231
  "nodeType": "Identifier",
12232
12232
  "overloadedDeclarations": [],
12233
- "referencedDeclaration": 48809,
12233
+ "referencedDeclaration": 48820,
12234
12234
  "src": "2385:5:116",
12235
12235
  "typeDescriptions": {
12236
12236
  "typeIdentifier": "t_contract$_IERC20_$1540",
12237
12237
  "typeString": "contract IERC20"
12238
12238
  }
12239
12239
  },
12240
- "id": 48839,
12240
+ "id": 48850,
12241
12241
  "isConstant": false,
12242
12242
  "isLValue": false,
12243
12243
  "isPure": false,
@@ -12252,7 +12252,7 @@
12252
12252
  "typeString": "function (contract IERC20,address,uint256)"
12253
12253
  }
12254
12254
  },
12255
- "id": 48845,
12255
+ "id": 48856,
12256
12256
  "isConstant": false,
12257
12257
  "isLValue": false,
12258
12258
  "isPure": false,
@@ -12268,7 +12268,7 @@
12268
12268
  "typeString": "tuple()"
12269
12269
  }
12270
12270
  },
12271
- "id": 48846,
12271
+ "id": 48857,
12272
12272
  "nodeType": "ExpressionStatement",
12273
12273
  "src": "2385:41:116"
12274
12274
  },
@@ -12278,14 +12278,14 @@
12278
12278
  {
12279
12279
  "arguments": [
12280
12280
  {
12281
- "id": 48852,
12281
+ "id": 48863,
12282
12282
  "name": "superToken",
12283
12283
  "nodeType": "Identifier",
12284
12284
  "overloadedDeclarations": [],
12285
- "referencedDeclaration": 48802,
12285
+ "referencedDeclaration": 48813,
12286
12286
  "src": "2462:10:116",
12287
12287
  "typeDescriptions": {
12288
- "typeIdentifier": "t_contract$_ISuperToken_$24383",
12288
+ "typeIdentifier": "t_contract$_ISuperToken_$24394",
12289
12289
  "typeString": "contract ISuperToken"
12290
12290
  }
12291
12291
  }
@@ -12293,11 +12293,11 @@
12293
12293
  "expression": {
12294
12294
  "argumentTypes": [
12295
12295
  {
12296
- "typeIdentifier": "t_contract$_ISuperToken_$24383",
12296
+ "typeIdentifier": "t_contract$_ISuperToken_$24394",
12297
12297
  "typeString": "contract ISuperToken"
12298
12298
  }
12299
12299
  ],
12300
- "id": 48851,
12300
+ "id": 48862,
12301
12301
  "isConstant": false,
12302
12302
  "isLValue": false,
12303
12303
  "isPure": true,
@@ -12309,14 +12309,14 @@
12309
12309
  "typeString": "type(address)"
12310
12310
  },
12311
12311
  "typeName": {
12312
- "id": 48850,
12312
+ "id": 48861,
12313
12313
  "name": "address",
12314
12314
  "nodeType": "ElementaryTypeName",
12315
12315
  "src": "2454:7:116",
12316
12316
  "typeDescriptions": {}
12317
12317
  }
12318
12318
  },
12319
- "id": 48853,
12319
+ "id": 48864,
12320
12320
  "isConstant": false,
12321
12321
  "isLValue": false,
12322
12322
  "isPure": false,
@@ -12333,11 +12333,11 @@
12333
12333
  }
12334
12334
  },
12335
12335
  {
12336
- "id": 48854,
12336
+ "id": 48865,
12337
12337
  "name": "amount",
12338
12338
  "nodeType": "Identifier",
12339
12339
  "overloadedDeclarations": [],
12340
- "referencedDeclaration": 48777,
12340
+ "referencedDeclaration": 48788,
12341
12341
  "src": "2475:6:116",
12342
12342
  "typeDescriptions": {
12343
12343
  "typeIdentifier": "t_uint256",
@@ -12357,18 +12357,18 @@
12357
12357
  }
12358
12358
  ],
12359
12359
  "expression": {
12360
- "id": 48847,
12360
+ "id": 48858,
12361
12361
  "name": "token",
12362
12362
  "nodeType": "Identifier",
12363
12363
  "overloadedDeclarations": [],
12364
- "referencedDeclaration": 48809,
12364
+ "referencedDeclaration": 48820,
12365
12365
  "src": "2436:5:116",
12366
12366
  "typeDescriptions": {
12367
12367
  "typeIdentifier": "t_contract$_IERC20_$1540",
12368
12368
  "typeString": "contract IERC20"
12369
12369
  }
12370
12370
  },
12371
- "id": 48849,
12371
+ "id": 48860,
12372
12372
  "isConstant": false,
12373
12373
  "isLValue": false,
12374
12374
  "isPure": false,
@@ -12383,7 +12383,7 @@
12383
12383
  "typeString": "function (contract IERC20,address,uint256)"
12384
12384
  }
12385
12385
  },
12386
- "id": 48855,
12386
+ "id": 48866,
12387
12387
  "isConstant": false,
12388
12388
  "isLValue": false,
12389
12389
  "isPure": false,
@@ -12399,7 +12399,7 @@
12399
12399
  "typeString": "tuple()"
12400
12400
  }
12401
12401
  },
12402
- "id": 48856,
12402
+ "id": 48867,
12403
12403
  "nodeType": "ExpressionStatement",
12404
12404
  "src": "2436:46:116"
12405
12405
  },
@@ -12407,11 +12407,11 @@
12407
12407
  "expression": {
12408
12408
  "arguments": [
12409
12409
  {
12410
- "id": 48860,
12410
+ "id": 48871,
12411
12411
  "name": "account",
12412
12412
  "nodeType": "Identifier",
12413
12413
  "overloadedDeclarations": [],
12414
- "referencedDeclaration": 48775,
12414
+ "referencedDeclaration": 48786,
12415
12415
  "src": "2574:7:116",
12416
12416
  "typeDescriptions": {
12417
12417
  "typeIdentifier": "t_address",
@@ -12423,7 +12423,7 @@
12423
12423
  "typeIdentifier": "t_uint256",
12424
12424
  "typeString": "uint256"
12425
12425
  },
12426
- "id": 48869,
12426
+ "id": 48880,
12427
12427
  "isConstant": false,
12428
12428
  "isLValue": false,
12429
12429
  "isPure": false,
@@ -12433,14 +12433,14 @@
12433
12433
  {
12434
12434
  "arguments": [
12435
12435
  {
12436
- "id": 48865,
12436
+ "id": 48876,
12437
12437
  "name": "this",
12438
12438
  "nodeType": "Identifier",
12439
12439
  "overloadedDeclarations": [],
12440
12440
  "referencedDeclaration": 4294967268,
12441
12441
  "src": "2619:4:116",
12442
12442
  "typeDescriptions": {
12443
- "typeIdentifier": "t_contract$_SuperUpgrader_$49007",
12443
+ "typeIdentifier": "t_contract$_SuperUpgrader_$49018",
12444
12444
  "typeString": "contract SuperUpgrader"
12445
12445
  }
12446
12446
  }
@@ -12448,11 +12448,11 @@
12448
12448
  "expression": {
12449
12449
  "argumentTypes": [
12450
12450
  {
12451
- "typeIdentifier": "t_contract$_SuperUpgrader_$49007",
12451
+ "typeIdentifier": "t_contract$_SuperUpgrader_$49018",
12452
12452
  "typeString": "contract SuperUpgrader"
12453
12453
  }
12454
12454
  ],
12455
- "id": 48864,
12455
+ "id": 48875,
12456
12456
  "isConstant": false,
12457
12457
  "isLValue": false,
12458
12458
  "isPure": true,
@@ -12464,14 +12464,14 @@
12464
12464
  "typeString": "type(address)"
12465
12465
  },
12466
12466
  "typeName": {
12467
- "id": 48863,
12467
+ "id": 48874,
12468
12468
  "name": "address",
12469
12469
  "nodeType": "ElementaryTypeName",
12470
12470
  "src": "2611:7:116",
12471
12471
  "typeDescriptions": {}
12472
12472
  }
12473
12473
  },
12474
- "id": 48866,
12474
+ "id": 48877,
12475
12475
  "isConstant": false,
12476
12476
  "isLValue": false,
12477
12477
  "isPure": false,
@@ -12496,18 +12496,18 @@
12496
12496
  }
12497
12497
  ],
12498
12498
  "expression": {
12499
- "id": 48861,
12499
+ "id": 48872,
12500
12500
  "name": "token",
12501
12501
  "nodeType": "Identifier",
12502
12502
  "overloadedDeclarations": [],
12503
- "referencedDeclaration": 48809,
12503
+ "referencedDeclaration": 48820,
12504
12504
  "src": "2595:5:116",
12505
12505
  "typeDescriptions": {
12506
12506
  "typeIdentifier": "t_contract$_IERC20_$1540",
12507
12507
  "typeString": "contract IERC20"
12508
12508
  }
12509
12509
  },
12510
- "id": 48862,
12510
+ "id": 48873,
12511
12511
  "isConstant": false,
12512
12512
  "isLValue": false,
12513
12513
  "isPure": false,
@@ -12522,7 +12522,7 @@
12522
12522
  "typeString": "function (address) view external returns (uint256)"
12523
12523
  }
12524
12524
  },
12525
- "id": 48867,
12525
+ "id": 48878,
12526
12526
  "isConstant": false,
12527
12527
  "isLValue": false,
12528
12528
  "isPure": false,
@@ -12541,11 +12541,11 @@
12541
12541
  "nodeType": "BinaryOperation",
12542
12542
  "operator": "-",
12543
12543
  "rightExpression": {
12544
- "id": 48868,
12544
+ "id": 48879,
12545
12545
  "name": "beforeBalance",
12546
12546
  "nodeType": "Identifier",
12547
12547
  "overloadedDeclarations": [],
12548
- "referencedDeclaration": 48817,
12548
+ "referencedDeclaration": 48828,
12549
12549
  "src": "2628:13:116",
12550
12550
  "typeDescriptions": {
12551
12551
  "typeIdentifier": "t_uint256",
@@ -12562,7 +12562,7 @@
12562
12562
  "arguments": [
12563
12563
  {
12564
12564
  "hexValue": "30",
12565
- "id": 48872,
12565
+ "id": 48883,
12566
12566
  "isConstant": false,
12567
12567
  "isLValue": false,
12568
12568
  "isPure": true,
@@ -12584,7 +12584,7 @@
12584
12584
  "typeString": "int_const 0"
12585
12585
  }
12586
12586
  ],
12587
- "id": 48871,
12587
+ "id": 48882,
12588
12588
  "isConstant": false,
12589
12589
  "isLValue": false,
12590
12590
  "isPure": true,
@@ -12596,7 +12596,7 @@
12596
12596
  "typeString": "function (uint256) pure returns (bytes memory)"
12597
12597
  },
12598
12598
  "typeName": {
12599
- "id": 48870,
12599
+ "id": 48881,
12600
12600
  "name": "bytes",
12601
12601
  "nodeType": "ElementaryTypeName",
12602
12602
  "src": "2647:5:116",
@@ -12606,7 +12606,7 @@
12606
12606
  }
12607
12607
  }
12608
12608
  },
12609
- "id": 48873,
12609
+ "id": 48884,
12610
12610
  "isConstant": false,
12611
12611
  "isLValue": false,
12612
12612
  "isPure": true,
@@ -12639,18 +12639,18 @@
12639
12639
  }
12640
12640
  ],
12641
12641
  "expression": {
12642
- "id": 48857,
12642
+ "id": 48868,
12643
12643
  "name": "superToken",
12644
12644
  "nodeType": "Identifier",
12645
12645
  "overloadedDeclarations": [],
12646
- "referencedDeclaration": 48802,
12646
+ "referencedDeclaration": 48813,
12647
12647
  "src": "2540:10:116",
12648
12648
  "typeDescriptions": {
12649
- "typeIdentifier": "t_contract$_ISuperToken_$24383",
12649
+ "typeIdentifier": "t_contract$_ISuperToken_$24394",
12650
12650
  "typeString": "contract ISuperToken"
12651
12651
  }
12652
12652
  },
12653
- "id": 48859,
12653
+ "id": 48870,
12654
12654
  "isConstant": false,
12655
12655
  "isLValue": false,
12656
12656
  "isPure": false,
@@ -12658,14 +12658,14 @@
12658
12658
  "memberLocation": "2551:9:116",
12659
12659
  "memberName": "upgradeTo",
12660
12660
  "nodeType": "MemberAccess",
12661
- "referencedDeclaration": 24274,
12661
+ "referencedDeclaration": 24285,
12662
12662
  "src": "2540:20:116",
12663
12663
  "typeDescriptions": {
12664
12664
  "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$",
12665
12665
  "typeString": "function (address,uint256,bytes memory) external"
12666
12666
  }
12667
12667
  },
12668
- "id": 48874,
12668
+ "id": 48885,
12669
12669
  "isConstant": false,
12670
12670
  "isLValue": false,
12671
12671
  "isPure": false,
@@ -12681,20 +12681,20 @@
12681
12681
  "typeString": "tuple()"
12682
12682
  }
12683
12683
  },
12684
- "id": 48875,
12684
+ "id": 48886,
12685
12685
  "nodeType": "ExpressionStatement",
12686
12686
  "src": "2540:116:116"
12687
12687
  }
12688
12688
  ]
12689
12689
  },
12690
12690
  "documentation": {
12691
- "id": 48771,
12691
+ "id": 48782,
12692
12692
  "nodeType": "StructuredDocumentation",
12693
12693
  "src": "1458:315:116",
12694
12694
  "text": " @notice The user should ERC20.approve this contract.\n @dev Execute upgrade function in the name of the user\n @param superTokenAddr Super Token Address to upgrade\n @param account User address that previous approved this contract.\n @param amount Amount value to be upgraded."
12695
12695
  },
12696
12696
  "functionSelector": "2a197298",
12697
- "id": 48877,
12697
+ "id": 48888,
12698
12698
  "implemented": true,
12699
12699
  "kind": "function",
12700
12700
  "modifiers": [],
@@ -12702,17 +12702,17 @@
12702
12702
  "nameLocation": "1787:7:116",
12703
12703
  "nodeType": "FunctionDefinition",
12704
12704
  "parameters": {
12705
- "id": 48778,
12705
+ "id": 48789,
12706
12706
  "nodeType": "ParameterList",
12707
12707
  "parameters": [
12708
12708
  {
12709
12709
  "constant": false,
12710
- "id": 48773,
12710
+ "id": 48784,
12711
12711
  "mutability": "mutable",
12712
12712
  "name": "superTokenAddr",
12713
12713
  "nameLocation": "1812:14:116",
12714
12714
  "nodeType": "VariableDeclaration",
12715
- "scope": 48877,
12715
+ "scope": 48888,
12716
12716
  "src": "1804:22:116",
12717
12717
  "stateVariable": false,
12718
12718
  "storageLocation": "default",
@@ -12721,7 +12721,7 @@
12721
12721
  "typeString": "address"
12722
12722
  },
12723
12723
  "typeName": {
12724
- "id": 48772,
12724
+ "id": 48783,
12725
12725
  "name": "address",
12726
12726
  "nodeType": "ElementaryTypeName",
12727
12727
  "src": "1804:7:116",
@@ -12735,12 +12735,12 @@
12735
12735
  },
12736
12736
  {
12737
12737
  "constant": false,
12738
- "id": 48775,
12738
+ "id": 48786,
12739
12739
  "mutability": "mutable",
12740
12740
  "name": "account",
12741
12741
  "nameLocation": "1844:7:116",
12742
12742
  "nodeType": "VariableDeclaration",
12743
- "scope": 48877,
12743
+ "scope": 48888,
12744
12744
  "src": "1836:15:116",
12745
12745
  "stateVariable": false,
12746
12746
  "storageLocation": "default",
@@ -12749,7 +12749,7 @@
12749
12749
  "typeString": "address"
12750
12750
  },
12751
12751
  "typeName": {
12752
- "id": 48774,
12752
+ "id": 48785,
12753
12753
  "name": "address",
12754
12754
  "nodeType": "ElementaryTypeName",
12755
12755
  "src": "1836:7:116",
@@ -12763,12 +12763,12 @@
12763
12763
  },
12764
12764
  {
12765
12765
  "constant": false,
12766
- "id": 48777,
12766
+ "id": 48788,
12767
12767
  "mutability": "mutable",
12768
12768
  "name": "amount",
12769
12769
  "nameLocation": "1869:6:116",
12770
12770
  "nodeType": "VariableDeclaration",
12771
- "scope": 48877,
12771
+ "scope": 48888,
12772
12772
  "src": "1861:14:116",
12773
12773
  "stateVariable": false,
12774
12774
  "storageLocation": "default",
@@ -12777,7 +12777,7 @@
12777
12777
  "typeString": "uint256"
12778
12778
  },
12779
12779
  "typeName": {
12780
- "id": 48776,
12780
+ "id": 48787,
12781
12781
  "name": "uint256",
12782
12782
  "nodeType": "ElementaryTypeName",
12783
12783
  "src": "1861:7:116",
@@ -12792,12 +12792,12 @@
12792
12792
  "src": "1794:87:116"
12793
12793
  },
12794
12794
  "returnParameters": {
12795
- "id": 48779,
12795
+ "id": 48790,
12796
12796
  "nodeType": "ParameterList",
12797
12797
  "parameters": [],
12798
12798
  "src": "1899:0:116"
12799
12799
  },
12800
- "scope": 49007,
12800
+ "scope": 49018,
12801
12801
  "src": "1778:885:116",
12802
12802
  "stateMutability": "nonpayable",
12803
12803
  "virtual": false,
@@ -12805,7 +12805,7 @@
12805
12805
  },
12806
12806
  {
12807
12807
  "body": {
12808
- "id": 48890,
12808
+ "id": 48901,
12809
12809
  "nodeType": "Block",
12810
12810
  "src": "2809:54:116",
12811
12811
  "statements": [
@@ -12813,11 +12813,11 @@
12813
12813
  "expression": {
12814
12814
  "arguments": [
12815
12815
  {
12816
- "id": 48886,
12816
+ "id": 48897,
12817
12817
  "name": "BACKEND_ROLE",
12818
12818
  "nodeType": "Identifier",
12819
12819
  "overloadedDeclarations": [],
12820
- "referencedDeclaration": 48702,
12820
+ "referencedDeclaration": 48713,
12821
12821
  "src": "2834:12:116",
12822
12822
  "typeDescriptions": {
12823
12823
  "typeIdentifier": "t_bytes32",
@@ -12825,11 +12825,11 @@
12825
12825
  }
12826
12826
  },
12827
12827
  {
12828
- "id": 48887,
12828
+ "id": 48898,
12829
12829
  "name": "account",
12830
12830
  "nodeType": "Identifier",
12831
12831
  "overloadedDeclarations": [],
12832
- "referencedDeclaration": 48880,
12832
+ "referencedDeclaration": 48891,
12833
12833
  "src": "2848:7:116",
12834
12834
  "typeDescriptions": {
12835
12835
  "typeIdentifier": "t_address",
@@ -12848,7 +12848,7 @@
12848
12848
  "typeString": "address"
12849
12849
  }
12850
12850
  ],
12851
- "id": 48885,
12851
+ "id": 48896,
12852
12852
  "name": "hasRole",
12853
12853
  "nodeType": "Identifier",
12854
12854
  "overloadedDeclarations": [],
@@ -12859,7 +12859,7 @@
12859
12859
  "typeString": "function (bytes32,address) view returns (bool)"
12860
12860
  }
12861
12861
  },
12862
- "id": 48888,
12862
+ "id": 48899,
12863
12863
  "isConstant": false,
12864
12864
  "isLValue": false,
12865
12865
  "isPure": false,
@@ -12875,21 +12875,21 @@
12875
12875
  "typeString": "bool"
12876
12876
  }
12877
12877
  },
12878
- "functionReturnParameters": 48884,
12879
- "id": 48889,
12878
+ "functionReturnParameters": 48895,
12879
+ "id": 48900,
12880
12880
  "nodeType": "Return",
12881
12881
  "src": "2819:37:116"
12882
12882
  }
12883
12883
  ]
12884
12884
  },
12885
12885
  "documentation": {
12886
- "id": 48878,
12886
+ "id": 48889,
12887
12887
  "nodeType": "StructuredDocumentation",
12888
12888
  "src": "2669:62:116",
12889
12889
  "text": " @dev Test if account is member BACKEND_ROLE"
12890
12890
  },
12891
12891
  "functionSelector": "44e9d2fb",
12892
- "id": 48891,
12892
+ "id": 48902,
12893
12893
  "implemented": true,
12894
12894
  "kind": "function",
12895
12895
  "modifiers": [],
@@ -12897,17 +12897,17 @@
12897
12897
  "nameLocation": "2745:14:116",
12898
12898
  "nodeType": "FunctionDefinition",
12899
12899
  "parameters": {
12900
- "id": 48881,
12900
+ "id": 48892,
12901
12901
  "nodeType": "ParameterList",
12902
12902
  "parameters": [
12903
12903
  {
12904
12904
  "constant": false,
12905
- "id": 48880,
12905
+ "id": 48891,
12906
12906
  "mutability": "mutable",
12907
12907
  "name": "account",
12908
12908
  "nameLocation": "2768:7:116",
12909
12909
  "nodeType": "VariableDeclaration",
12910
- "scope": 48891,
12910
+ "scope": 48902,
12911
12911
  "src": "2760:15:116",
12912
12912
  "stateVariable": false,
12913
12913
  "storageLocation": "default",
@@ -12916,7 +12916,7 @@
12916
12916
  "typeString": "address"
12917
12917
  },
12918
12918
  "typeName": {
12919
- "id": 48879,
12919
+ "id": 48890,
12920
12920
  "name": "address",
12921
12921
  "nodeType": "ElementaryTypeName",
12922
12922
  "src": "2760:7:116",
@@ -12932,17 +12932,17 @@
12932
12932
  "src": "2759:17:116"
12933
12933
  },
12934
12934
  "returnParameters": {
12935
- "id": 48884,
12935
+ "id": 48895,
12936
12936
  "nodeType": "ParameterList",
12937
12937
  "parameters": [
12938
12938
  {
12939
12939
  "constant": false,
12940
- "id": 48883,
12940
+ "id": 48894,
12941
12941
  "mutability": "mutable",
12942
12942
  "name": "yes",
12943
12943
  "nameLocation": "2804:3:116",
12944
12944
  "nodeType": "VariableDeclaration",
12945
- "scope": 48891,
12945
+ "scope": 48902,
12946
12946
  "src": "2799:8:116",
12947
12947
  "stateVariable": false,
12948
12948
  "storageLocation": "default",
@@ -12951,7 +12951,7 @@
12951
12951
  "typeString": "bool"
12952
12952
  },
12953
12953
  "typeName": {
12954
- "id": 48882,
12954
+ "id": 48893,
12955
12955
  "name": "bool",
12956
12956
  "nodeType": "ElementaryTypeName",
12957
12957
  "src": "2799:4:116",
@@ -12965,7 +12965,7 @@
12965
12965
  ],
12966
12966
  "src": "2798:10:116"
12967
12967
  },
12968
- "scope": 49007,
12968
+ "scope": 49018,
12969
12969
  "src": "2736:127:116",
12970
12970
  "stateMutability": "view",
12971
12971
  "virtual": false,
@@ -12973,7 +12973,7 @@
12973
12973
  },
12974
12974
  {
12975
12975
  "body": {
12976
- "id": 48912,
12976
+ "id": 48923,
12977
12977
  "nodeType": "Block",
12978
12978
  "src": "2978:176:116",
12979
12979
  "statements": [
@@ -12985,17 +12985,17 @@
12985
12985
  "typeIdentifier": "t_address",
12986
12986
  "typeString": "address"
12987
12987
  },
12988
- "id": 48903,
12988
+ "id": 48914,
12989
12989
  "isConstant": false,
12990
12990
  "isLValue": false,
12991
12991
  "isPure": false,
12992
12992
  "lValueRequested": false,
12993
12993
  "leftExpression": {
12994
- "id": 48898,
12994
+ "id": 48909,
12995
12995
  "name": "account",
12996
12996
  "nodeType": "Identifier",
12997
12997
  "overloadedDeclarations": [],
12998
- "referencedDeclaration": 48894,
12998
+ "referencedDeclaration": 48905,
12999
12999
  "src": "2996:7:116",
13000
13000
  "typeDescriptions": {
13001
13001
  "typeIdentifier": "t_address",
@@ -13008,7 +13008,7 @@
13008
13008
  "arguments": [
13009
13009
  {
13010
13010
  "hexValue": "30",
13011
- "id": 48901,
13011
+ "id": 48912,
13012
13012
  "isConstant": false,
13013
13013
  "isLValue": false,
13014
13014
  "isPure": true,
@@ -13030,7 +13030,7 @@
13030
13030
  "typeString": "int_const 0"
13031
13031
  }
13032
13032
  ],
13033
- "id": 48900,
13033
+ "id": 48911,
13034
13034
  "isConstant": false,
13035
13035
  "isLValue": false,
13036
13036
  "isPure": true,
@@ -13042,14 +13042,14 @@
13042
13042
  "typeString": "type(address)"
13043
13043
  },
13044
13044
  "typeName": {
13045
- "id": 48899,
13045
+ "id": 48910,
13046
13046
  "name": "address",
13047
13047
  "nodeType": "ElementaryTypeName",
13048
13048
  "src": "3007:7:116",
13049
13049
  "typeDescriptions": {}
13050
13050
  }
13051
13051
  },
13052
- "id": 48902,
13052
+ "id": 48913,
13053
13053
  "isConstant": false,
13054
13054
  "isLValue": false,
13055
13055
  "isPure": true,
@@ -13073,7 +13073,7 @@
13073
13073
  },
13074
13074
  {
13075
13075
  "hexValue": "6f7065726174696f6e206e6f7420616c6c6f776564",
13076
- "id": 48904,
13076
+ "id": 48915,
13077
13077
  "isConstant": false,
13078
13078
  "isLValue": false,
13079
13079
  "isPure": true,
@@ -13099,7 +13099,7 @@
13099
13099
  "typeString": "literal_string \"operation not allowed\""
13100
13100
  }
13101
13101
  ],
13102
- "id": 48897,
13102
+ "id": 48908,
13103
13103
  "name": "require",
13104
13104
  "nodeType": "Identifier",
13105
13105
  "overloadedDeclarations": [
@@ -13113,7 +13113,7 @@
13113
13113
  "typeString": "function (bool,string memory) pure"
13114
13114
  }
13115
13115
  },
13116
- "id": 48905,
13116
+ "id": 48916,
13117
13117
  "isConstant": false,
13118
13118
  "isLValue": false,
13119
13119
  "isPure": false,
@@ -13129,7 +13129,7 @@
13129
13129
  "typeString": "tuple()"
13130
13130
  }
13131
13131
  },
13132
- "id": 48906,
13132
+ "id": 48917,
13133
13133
  "nodeType": "ExpressionStatement",
13134
13134
  "src": "2988:55:116"
13135
13135
  },
@@ -13137,11 +13137,11 @@
13137
13137
  "expression": {
13138
13138
  "arguments": [
13139
13139
  {
13140
- "id": 48908,
13140
+ "id": 48919,
13141
13141
  "name": "BACKEND_ROLE",
13142
13142
  "nodeType": "Identifier",
13143
13143
  "overloadedDeclarations": [],
13144
- "referencedDeclaration": 48702,
13144
+ "referencedDeclaration": 48713,
13145
13145
  "src": "3125:12:116",
13146
13146
  "typeDescriptions": {
13147
13147
  "typeIdentifier": "t_bytes32",
@@ -13149,11 +13149,11 @@
13149
13149
  }
13150
13150
  },
13151
13151
  {
13152
- "id": 48909,
13152
+ "id": 48920,
13153
13153
  "name": "account",
13154
13154
  "nodeType": "Identifier",
13155
13155
  "overloadedDeclarations": [],
13156
- "referencedDeclaration": 48894,
13156
+ "referencedDeclaration": 48905,
13157
13157
  "src": "3139:7:116",
13158
13158
  "typeDescriptions": {
13159
13159
  "typeIdentifier": "t_address",
@@ -13172,7 +13172,7 @@
13172
13172
  "typeString": "address"
13173
13173
  }
13174
13174
  ],
13175
- "id": 48907,
13175
+ "id": 48918,
13176
13176
  "name": "grantRole",
13177
13177
  "nodeType": "Identifier",
13178
13178
  "overloadedDeclarations": [],
@@ -13183,7 +13183,7 @@
13183
13183
  "typeString": "function (bytes32,address)"
13184
13184
  }
13185
13185
  },
13186
- "id": 48910,
13186
+ "id": 48921,
13187
13187
  "isConstant": false,
13188
13188
  "isLValue": false,
13189
13189
  "isPure": false,
@@ -13199,20 +13199,20 @@
13199
13199
  "typeString": "tuple()"
13200
13200
  }
13201
13201
  },
13202
- "id": 48911,
13202
+ "id": 48922,
13203
13203
  "nodeType": "ExpressionStatement",
13204
13204
  "src": "3115:32:116"
13205
13205
  }
13206
13206
  ]
13207
13207
  },
13208
13208
  "documentation": {
13209
- "id": 48892,
13209
+ "id": 48903,
13210
13210
  "nodeType": "StructuredDocumentation",
13211
13211
  "src": "2869:51:116",
13212
13212
  "text": " @dev Add account to BACKEND_ROLE"
13213
13213
  },
13214
13214
  "functionSelector": "61985da7",
13215
- "id": 48913,
13215
+ "id": 48924,
13216
13216
  "implemented": true,
13217
13217
  "kind": "function",
13218
13218
  "modifiers": [],
@@ -13220,17 +13220,17 @@
13220
13220
  "nameLocation": "2934:17:116",
13221
13221
  "nodeType": "FunctionDefinition",
13222
13222
  "parameters": {
13223
- "id": 48895,
13223
+ "id": 48906,
13224
13224
  "nodeType": "ParameterList",
13225
13225
  "parameters": [
13226
13226
  {
13227
13227
  "constant": false,
13228
- "id": 48894,
13228
+ "id": 48905,
13229
13229
  "mutability": "mutable",
13230
13230
  "name": "account",
13231
13231
  "nameLocation": "2960:7:116",
13232
13232
  "nodeType": "VariableDeclaration",
13233
- "scope": 48913,
13233
+ "scope": 48924,
13234
13234
  "src": "2952:15:116",
13235
13235
  "stateVariable": false,
13236
13236
  "storageLocation": "default",
@@ -13239,7 +13239,7 @@
13239
13239
  "typeString": "address"
13240
13240
  },
13241
13241
  "typeName": {
13242
- "id": 48893,
13242
+ "id": 48904,
13243
13243
  "name": "address",
13244
13244
  "nodeType": "ElementaryTypeName",
13245
13245
  "src": "2952:7:116",
@@ -13255,12 +13255,12 @@
13255
13255
  "src": "2951:17:116"
13256
13256
  },
13257
13257
  "returnParameters": {
13258
- "id": 48896,
13258
+ "id": 48907,
13259
13259
  "nodeType": "ParameterList",
13260
13260
  "parameters": [],
13261
13261
  "src": "2978:0:116"
13262
13262
  },
13263
- "scope": 49007,
13263
+ "scope": 49018,
13264
13264
  "src": "2925:229:116",
13265
13265
  "stateMutability": "nonpayable",
13266
13266
  "virtual": false,
@@ -13268,7 +13268,7 @@
13268
13268
  },
13269
13269
  {
13270
13270
  "body": {
13271
- "id": 48924,
13271
+ "id": 48935,
13272
13272
  "nodeType": "Block",
13273
13273
  "src": "3273:112:116",
13274
13274
  "statements": [
@@ -13276,11 +13276,11 @@
13276
13276
  "expression": {
13277
13277
  "arguments": [
13278
13278
  {
13279
- "id": 48920,
13279
+ "id": 48931,
13280
13280
  "name": "BACKEND_ROLE",
13281
13281
  "nodeType": "Identifier",
13282
13282
  "overloadedDeclarations": [],
13283
- "referencedDeclaration": 48702,
13283
+ "referencedDeclaration": 48713,
13284
13284
  "src": "3356:12:116",
13285
13285
  "typeDescriptions": {
13286
13286
  "typeIdentifier": "t_bytes32",
@@ -13288,11 +13288,11 @@
13288
13288
  }
13289
13289
  },
13290
13290
  {
13291
- "id": 48921,
13291
+ "id": 48932,
13292
13292
  "name": "account",
13293
13293
  "nodeType": "Identifier",
13294
13294
  "overloadedDeclarations": [],
13295
- "referencedDeclaration": 48916,
13295
+ "referencedDeclaration": 48927,
13296
13296
  "src": "3370:7:116",
13297
13297
  "typeDescriptions": {
13298
13298
  "typeIdentifier": "t_address",
@@ -13311,7 +13311,7 @@
13311
13311
  "typeString": "address"
13312
13312
  }
13313
13313
  ],
13314
- "id": 48919,
13314
+ "id": 48930,
13315
13315
  "name": "revokeRole",
13316
13316
  "nodeType": "Identifier",
13317
13317
  "overloadedDeclarations": [],
@@ -13322,7 +13322,7 @@
13322
13322
  "typeString": "function (bytes32,address)"
13323
13323
  }
13324
13324
  },
13325
- "id": 48922,
13325
+ "id": 48933,
13326
13326
  "isConstant": false,
13327
13327
  "isLValue": false,
13328
13328
  "isPure": false,
@@ -13338,20 +13338,20 @@
13338
13338
  "typeString": "tuple()"
13339
13339
  }
13340
13340
  },
13341
- "id": 48923,
13341
+ "id": 48934,
13342
13342
  "nodeType": "ExpressionStatement",
13343
13343
  "src": "3345:33:116"
13344
13344
  }
13345
13345
  ]
13346
13346
  },
13347
13347
  "documentation": {
13348
- "id": 48914,
13348
+ "id": 48925,
13349
13349
  "nodeType": "StructuredDocumentation",
13350
13350
  "src": "3160:54:116",
13351
13351
  "text": " @dev Remove account to BACKEND_ROLE"
13352
13352
  },
13353
13353
  "functionSelector": "abcac5eb",
13354
- "id": 48925,
13354
+ "id": 48936,
13355
13355
  "implemented": true,
13356
13356
  "kind": "function",
13357
13357
  "modifiers": [],
@@ -13359,17 +13359,17 @@
13359
13359
  "nameLocation": "3228:18:116",
13360
13360
  "nodeType": "FunctionDefinition",
13361
13361
  "parameters": {
13362
- "id": 48917,
13362
+ "id": 48928,
13363
13363
  "nodeType": "ParameterList",
13364
13364
  "parameters": [
13365
13365
  {
13366
13366
  "constant": false,
13367
- "id": 48916,
13367
+ "id": 48927,
13368
13368
  "mutability": "mutable",
13369
13369
  "name": "account",
13370
13370
  "nameLocation": "3255:7:116",
13371
13371
  "nodeType": "VariableDeclaration",
13372
- "scope": 48925,
13372
+ "scope": 48936,
13373
13373
  "src": "3247:15:116",
13374
13374
  "stateVariable": false,
13375
13375
  "storageLocation": "default",
@@ -13378,7 +13378,7 @@
13378
13378
  "typeString": "address"
13379
13379
  },
13380
13380
  "typeName": {
13381
- "id": 48915,
13381
+ "id": 48926,
13382
13382
  "name": "address",
13383
13383
  "nodeType": "ElementaryTypeName",
13384
13384
  "src": "3247:7:116",
@@ -13394,12 +13394,12 @@
13394
13394
  "src": "3246:17:116"
13395
13395
  },
13396
13396
  "returnParameters": {
13397
- "id": 48918,
13397
+ "id": 48929,
13398
13398
  "nodeType": "ParameterList",
13399
13399
  "parameters": [],
13400
13400
  "src": "3273:0:116"
13401
13401
  },
13402
- "scope": 49007,
13402
+ "scope": 49018,
13403
13403
  "src": "3219:166:116",
13404
13404
  "stateMutability": "nonpayable",
13405
13405
  "virtual": false,
@@ -13407,23 +13407,23 @@
13407
13407
  },
13408
13408
  {
13409
13409
  "body": {
13410
- "id": 48972,
13410
+ "id": 48983,
13411
13411
  "nodeType": "Block",
13412
13412
  "src": "3527:289:116",
13413
13413
  "statements": [
13414
13414
  {
13415
13415
  "assignments": [
13416
- 48933
13416
+ 48944
13417
13417
  ],
13418
13418
  "declarations": [
13419
13419
  {
13420
13420
  "constant": false,
13421
- "id": 48933,
13421
+ "id": 48944,
13422
13422
  "mutability": "mutable",
13423
13423
  "name": "numberOfMembers",
13424
13424
  "nameLocation": "3545:15:116",
13425
13425
  "nodeType": "VariableDeclaration",
13426
- "scope": 48972,
13426
+ "scope": 48983,
13427
13427
  "src": "3537:23:116",
13428
13428
  "stateVariable": false,
13429
13429
  "storageLocation": "default",
@@ -13432,7 +13432,7 @@
13432
13432
  "typeString": "uint256"
13433
13433
  },
13434
13434
  "typeName": {
13435
- "id": 48932,
13435
+ "id": 48943,
13436
13436
  "name": "uint256",
13437
13437
  "nodeType": "ElementaryTypeName",
13438
13438
  "src": "3537:7:116",
@@ -13444,15 +13444,15 @@
13444
13444
  "visibility": "internal"
13445
13445
  }
13446
13446
  ],
13447
- "id": 48937,
13447
+ "id": 48948,
13448
13448
  "initialValue": {
13449
13449
  "arguments": [
13450
13450
  {
13451
- "id": 48935,
13451
+ "id": 48946,
13452
13452
  "name": "BACKEND_ROLE",
13453
13453
  "nodeType": "Identifier",
13454
13454
  "overloadedDeclarations": [],
13455
- "referencedDeclaration": 48702,
13455
+ "referencedDeclaration": 48713,
13456
13456
  "src": "3582:12:116",
13457
13457
  "typeDescriptions": {
13458
13458
  "typeIdentifier": "t_bytes32",
@@ -13467,7 +13467,7 @@
13467
13467
  "typeString": "bytes32"
13468
13468
  }
13469
13469
  ],
13470
- "id": 48934,
13470
+ "id": 48945,
13471
13471
  "name": "getRoleMemberCount",
13472
13472
  "nodeType": "Identifier",
13473
13473
  "overloadedDeclarations": [],
@@ -13478,7 +13478,7 @@
13478
13478
  "typeString": "function (bytes32) view returns (uint256)"
13479
13479
  }
13480
13480
  },
13481
- "id": 48936,
13481
+ "id": 48947,
13482
13482
  "isConstant": false,
13483
13483
  "isLValue": false,
13484
13484
  "isPure": false,
@@ -13499,17 +13499,17 @@
13499
13499
  },
13500
13500
  {
13501
13501
  "assignments": [
13502
- 48942
13502
+ 48953
13503
13503
  ],
13504
13504
  "declarations": [
13505
13505
  {
13506
13506
  "constant": false,
13507
- "id": 48942,
13507
+ "id": 48953,
13508
13508
  "mutability": "mutable",
13509
13509
  "name": "members",
13510
13510
  "nameLocation": "3622:7:116",
13511
13511
  "nodeType": "VariableDeclaration",
13512
- "scope": 48972,
13512
+ "scope": 48983,
13513
13513
  "src": "3605:24:116",
13514
13514
  "stateVariable": false,
13515
13515
  "storageLocation": "memory",
@@ -13519,7 +13519,7 @@
13519
13519
  },
13520
13520
  "typeName": {
13521
13521
  "baseType": {
13522
- "id": 48940,
13522
+ "id": 48951,
13523
13523
  "name": "address",
13524
13524
  "nodeType": "ElementaryTypeName",
13525
13525
  "src": "3605:7:116",
@@ -13528,7 +13528,7 @@
13528
13528
  "typeString": "address"
13529
13529
  }
13530
13530
  },
13531
- "id": 48941,
13531
+ "id": 48952,
13532
13532
  "nodeType": "ArrayTypeName",
13533
13533
  "src": "3605:9:116",
13534
13534
  "typeDescriptions": {
@@ -13539,15 +13539,15 @@
13539
13539
  "visibility": "internal"
13540
13540
  }
13541
13541
  ],
13542
- "id": 48948,
13542
+ "id": 48959,
13543
13543
  "initialValue": {
13544
13544
  "arguments": [
13545
13545
  {
13546
- "id": 48946,
13546
+ "id": 48957,
13547
13547
  "name": "numberOfMembers",
13548
13548
  "nodeType": "Identifier",
13549
13549
  "overloadedDeclarations": [],
13550
- "referencedDeclaration": 48933,
13550
+ "referencedDeclaration": 48944,
13551
13551
  "src": "3646:15:116",
13552
13552
  "typeDescriptions": {
13553
13553
  "typeIdentifier": "t_uint256",
@@ -13562,7 +13562,7 @@
13562
13562
  "typeString": "uint256"
13563
13563
  }
13564
13564
  ],
13565
- "id": 48945,
13565
+ "id": 48956,
13566
13566
  "isConstant": false,
13567
13567
  "isLValue": false,
13568
13568
  "isPure": true,
@@ -13575,7 +13575,7 @@
13575
13575
  },
13576
13576
  "typeName": {
13577
13577
  "baseType": {
13578
- "id": 48943,
13578
+ "id": 48954,
13579
13579
  "name": "address",
13580
13580
  "nodeType": "ElementaryTypeName",
13581
13581
  "src": "3636:7:116",
@@ -13585,7 +13585,7 @@
13585
13585
  "typeString": "address"
13586
13586
  }
13587
13587
  },
13588
- "id": 48944,
13588
+ "id": 48955,
13589
13589
  "nodeType": "ArrayTypeName",
13590
13590
  "src": "3636:9:116",
13591
13591
  "typeDescriptions": {
@@ -13594,7 +13594,7 @@
13594
13594
  }
13595
13595
  }
13596
13596
  },
13597
- "id": 48947,
13597
+ "id": 48958,
13598
13598
  "isConstant": false,
13599
13599
  "isLValue": false,
13600
13600
  "isPure": false,
@@ -13615,37 +13615,37 @@
13615
13615
  },
13616
13616
  {
13617
13617
  "body": {
13618
- "id": 48968,
13618
+ "id": 48979,
13619
13619
  "nodeType": "Block",
13620
13620
  "src": "3718:68:116",
13621
13621
  "statements": [
13622
13622
  {
13623
13623
  "expression": {
13624
- "id": 48966,
13624
+ "id": 48977,
13625
13625
  "isConstant": false,
13626
13626
  "isLValue": false,
13627
13627
  "isPure": false,
13628
13628
  "lValueRequested": false,
13629
13629
  "leftHandSide": {
13630
13630
  "baseExpression": {
13631
- "id": 48959,
13631
+ "id": 48970,
13632
13632
  "name": "members",
13633
13633
  "nodeType": "Identifier",
13634
13634
  "overloadedDeclarations": [],
13635
- "referencedDeclaration": 48942,
13635
+ "referencedDeclaration": 48953,
13636
13636
  "src": "3732:7:116",
13637
13637
  "typeDescriptions": {
13638
13638
  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
13639
13639
  "typeString": "address[] memory"
13640
13640
  }
13641
13641
  },
13642
- "id": 48961,
13642
+ "id": 48972,
13643
13643
  "indexExpression": {
13644
- "id": 48960,
13644
+ "id": 48971,
13645
13645
  "name": "i",
13646
13646
  "nodeType": "Identifier",
13647
13647
  "overloadedDeclarations": [],
13648
- "referencedDeclaration": 48950,
13648
+ "referencedDeclaration": 48961,
13649
13649
  "src": "3740:1:116",
13650
13650
  "typeDescriptions": {
13651
13651
  "typeIdentifier": "t_uint256",
@@ -13668,11 +13668,11 @@
13668
13668
  "rightHandSide": {
13669
13669
  "arguments": [
13670
13670
  {
13671
- "id": 48963,
13671
+ "id": 48974,
13672
13672
  "name": "BACKEND_ROLE",
13673
13673
  "nodeType": "Identifier",
13674
13674
  "overloadedDeclarations": [],
13675
- "referencedDeclaration": 48702,
13675
+ "referencedDeclaration": 48713,
13676
13676
  "src": "3759:12:116",
13677
13677
  "typeDescriptions": {
13678
13678
  "typeIdentifier": "t_bytes32",
@@ -13680,11 +13680,11 @@
13680
13680
  }
13681
13681
  },
13682
13682
  {
13683
- "id": 48964,
13683
+ "id": 48975,
13684
13684
  "name": "i",
13685
13685
  "nodeType": "Identifier",
13686
13686
  "overloadedDeclarations": [],
13687
- "referencedDeclaration": 48950,
13687
+ "referencedDeclaration": 48961,
13688
13688
  "src": "3773:1:116",
13689
13689
  "typeDescriptions": {
13690
13690
  "typeIdentifier": "t_uint256",
@@ -13703,7 +13703,7 @@
13703
13703
  "typeString": "uint256"
13704
13704
  }
13705
13705
  ],
13706
- "id": 48962,
13706
+ "id": 48973,
13707
13707
  "name": "getRoleMember",
13708
13708
  "nodeType": "Identifier",
13709
13709
  "overloadedDeclarations": [],
@@ -13714,7 +13714,7 @@
13714
13714
  "typeString": "function (bytes32,uint256) view returns (address)"
13715
13715
  }
13716
13716
  },
13717
- "id": 48965,
13717
+ "id": 48976,
13718
13718
  "isConstant": false,
13719
13719
  "isLValue": false,
13720
13720
  "isPure": false,
@@ -13736,7 +13736,7 @@
13736
13736
  "typeString": "address"
13737
13737
  }
13738
13738
  },
13739
- "id": 48967,
13739
+ "id": 48978,
13740
13740
  "nodeType": "ExpressionStatement",
13741
13741
  "src": "3732:43:116"
13742
13742
  }
@@ -13747,17 +13747,17 @@
13747
13747
  "typeIdentifier": "t_uint256",
13748
13748
  "typeString": "uint256"
13749
13749
  },
13750
- "id": 48955,
13750
+ "id": 48966,
13751
13751
  "isConstant": false,
13752
13752
  "isLValue": false,
13753
13753
  "isPure": false,
13754
13754
  "lValueRequested": false,
13755
13755
  "leftExpression": {
13756
- "id": 48953,
13756
+ "id": 48964,
13757
13757
  "name": "i",
13758
13758
  "nodeType": "Identifier",
13759
13759
  "overloadedDeclarations": [],
13760
- "referencedDeclaration": 48950,
13760
+ "referencedDeclaration": 48961,
13761
13761
  "src": "3692:1:116",
13762
13762
  "typeDescriptions": {
13763
13763
  "typeIdentifier": "t_uint256",
@@ -13767,11 +13767,11 @@
13767
13767
  "nodeType": "BinaryOperation",
13768
13768
  "operator": "<",
13769
13769
  "rightExpression": {
13770
- "id": 48954,
13770
+ "id": 48965,
13771
13771
  "name": "numberOfMembers",
13772
13772
  "nodeType": "Identifier",
13773
13773
  "overloadedDeclarations": [],
13774
- "referencedDeclaration": 48933,
13774
+ "referencedDeclaration": 48944,
13775
13775
  "src": "3696:15:116",
13776
13776
  "typeDescriptions": {
13777
13777
  "typeIdentifier": "t_uint256",
@@ -13784,20 +13784,20 @@
13784
13784
  "typeString": "bool"
13785
13785
  }
13786
13786
  },
13787
- "id": 48969,
13787
+ "id": 48980,
13788
13788
  "initializationExpression": {
13789
13789
  "assignments": [
13790
- 48950
13790
+ 48961
13791
13791
  ],
13792
13792
  "declarations": [
13793
13793
  {
13794
13794
  "constant": false,
13795
- "id": 48950,
13795
+ "id": 48961,
13796
13796
  "mutability": "mutable",
13797
13797
  "name": "i",
13798
13798
  "nameLocation": "3685:1:116",
13799
13799
  "nodeType": "VariableDeclaration",
13800
- "scope": 48969,
13800
+ "scope": 48980,
13801
13801
  "src": "3677:9:116",
13802
13802
  "stateVariable": false,
13803
13803
  "storageLocation": "default",
@@ -13806,7 +13806,7 @@
13806
13806
  "typeString": "uint256"
13807
13807
  },
13808
13808
  "typeName": {
13809
- "id": 48949,
13809
+ "id": 48960,
13810
13810
  "name": "uint256",
13811
13811
  "nodeType": "ElementaryTypeName",
13812
13812
  "src": "3677:7:116",
@@ -13818,10 +13818,10 @@
13818
13818
  "visibility": "internal"
13819
13819
  }
13820
13820
  ],
13821
- "id": 48952,
13821
+ "id": 48963,
13822
13822
  "initialValue": {
13823
13823
  "hexValue": "30",
13824
- "id": 48951,
13824
+ "id": 48962,
13825
13825
  "isConstant": false,
13826
13826
  "isLValue": false,
13827
13827
  "isPure": true,
@@ -13840,7 +13840,7 @@
13840
13840
  },
13841
13841
  "loopExpression": {
13842
13842
  "expression": {
13843
- "id": 48957,
13843
+ "id": 48968,
13844
13844
  "isConstant": false,
13845
13845
  "isLValue": false,
13846
13846
  "isPure": false,
@@ -13850,11 +13850,11 @@
13850
13850
  "prefix": true,
13851
13851
  "src": "3713:3:116",
13852
13852
  "subExpression": {
13853
- "id": 48956,
13853
+ "id": 48967,
13854
13854
  "name": "i",
13855
13855
  "nodeType": "Identifier",
13856
13856
  "overloadedDeclarations": [],
13857
- "referencedDeclaration": 48950,
13857
+ "referencedDeclaration": 48961,
13858
13858
  "src": "3715:1:116",
13859
13859
  "typeDescriptions": {
13860
13860
  "typeIdentifier": "t_uint256",
@@ -13866,7 +13866,7 @@
13866
13866
  "typeString": "uint256"
13867
13867
  }
13868
13868
  },
13869
- "id": 48958,
13869
+ "id": 48969,
13870
13870
  "nodeType": "ExpressionStatement",
13871
13871
  "src": "3713:3:116"
13872
13872
  },
@@ -13875,32 +13875,32 @@
13875
13875
  },
13876
13876
  {
13877
13877
  "expression": {
13878
- "id": 48970,
13878
+ "id": 48981,
13879
13879
  "name": "members",
13880
13880
  "nodeType": "Identifier",
13881
13881
  "overloadedDeclarations": [],
13882
- "referencedDeclaration": 48942,
13882
+ "referencedDeclaration": 48953,
13883
13883
  "src": "3802:7:116",
13884
13884
  "typeDescriptions": {
13885
13885
  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
13886
13886
  "typeString": "address[] memory"
13887
13887
  }
13888
13888
  },
13889
- "functionReturnParameters": 48931,
13890
- "id": 48971,
13889
+ "functionReturnParameters": 48942,
13890
+ "id": 48982,
13891
13891
  "nodeType": "Return",
13892
13892
  "src": "3795:14:116"
13893
13893
  }
13894
13894
  ]
13895
13895
  },
13896
13896
  "documentation": {
13897
- "id": 48926,
13897
+ "id": 48937,
13898
13898
  "nodeType": "StructuredDocumentation",
13899
13899
  "src": "3391:63:116",
13900
13900
  "text": " @dev Get list of all members of BACKEND_ROLE"
13901
13901
  },
13902
13902
  "functionSelector": "0f01a4a2",
13903
- "id": 48973,
13903
+ "id": 48984,
13904
13904
  "implemented": true,
13905
13905
  "kind": "function",
13906
13906
  "modifiers": [],
@@ -13908,23 +13908,23 @@
13908
13908
  "nameLocation": "3468:16:116",
13909
13909
  "nodeType": "FunctionDefinition",
13910
13910
  "parameters": {
13911
- "id": 48927,
13911
+ "id": 48938,
13912
13912
  "nodeType": "ParameterList",
13913
13913
  "parameters": [],
13914
13914
  "src": "3484:2:116"
13915
13915
  },
13916
13916
  "returnParameters": {
13917
- "id": 48931,
13917
+ "id": 48942,
13918
13918
  "nodeType": "ParameterList",
13919
13919
  "parameters": [
13920
13920
  {
13921
13921
  "constant": false,
13922
- "id": 48930,
13922
+ "id": 48941,
13923
13923
  "mutability": "mutable",
13924
13924
  "name": "",
13925
13925
  "nameLocation": "-1:-1:-1",
13926
13926
  "nodeType": "VariableDeclaration",
13927
- "scope": 48973,
13927
+ "scope": 48984,
13928
13928
  "src": "3509:16:116",
13929
13929
  "stateVariable": false,
13930
13930
  "storageLocation": "memory",
@@ -13934,7 +13934,7 @@
13934
13934
  },
13935
13935
  "typeName": {
13936
13936
  "baseType": {
13937
- "id": 48928,
13937
+ "id": 48939,
13938
13938
  "name": "address",
13939
13939
  "nodeType": "ElementaryTypeName",
13940
13940
  "src": "3509:7:116",
@@ -13944,7 +13944,7 @@
13944
13944
  "typeString": "address"
13945
13945
  }
13946
13946
  },
13947
- "id": 48929,
13947
+ "id": 48940,
13948
13948
  "nodeType": "ArrayTypeName",
13949
13949
  "src": "3509:9:116",
13950
13950
  "typeDescriptions": {
@@ -13957,7 +13957,7 @@
13957
13957
  ],
13958
13958
  "src": "3508:18:116"
13959
13959
  },
13960
- "scope": 49007,
13960
+ "scope": 49018,
13961
13961
  "src": "3459:357:116",
13962
13962
  "stateMutability": "view",
13963
13963
  "virtual": false,
@@ -13965,34 +13965,34 @@
13965
13965
  },
13966
13966
  {
13967
13967
  "body": {
13968
- "id": 48989,
13968
+ "id": 49000,
13969
13969
  "nodeType": "Block",
13970
13970
  "src": "3936:87:116",
13971
13971
  "statements": [
13972
13972
  {
13973
13973
  "expression": {
13974
- "id": 48982,
13974
+ "id": 48993,
13975
13975
  "isConstant": false,
13976
13976
  "isLValue": false,
13977
13977
  "isPure": false,
13978
13978
  "lValueRequested": false,
13979
13979
  "leftHandSide": {
13980
13980
  "baseExpression": {
13981
- "id": 48977,
13981
+ "id": 48988,
13982
13982
  "name": "_optout",
13983
13983
  "nodeType": "Identifier",
13984
13984
  "overloadedDeclarations": [],
13985
- "referencedDeclaration": 48714,
13985
+ "referencedDeclaration": 48725,
13986
13986
  "src": "3946:7:116",
13987
13987
  "typeDescriptions": {
13988
13988
  "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
13989
13989
  "typeString": "mapping(address => bool)"
13990
13990
  }
13991
13991
  },
13992
- "id": 48980,
13992
+ "id": 48991,
13993
13993
  "indexExpression": {
13994
13994
  "expression": {
13995
- "id": 48978,
13995
+ "id": 48989,
13996
13996
  "name": "msg",
13997
13997
  "nodeType": "Identifier",
13998
13998
  "overloadedDeclarations": [],
@@ -14003,7 +14003,7 @@
14003
14003
  "typeString": "msg"
14004
14004
  }
14005
14005
  },
14006
- "id": 48979,
14006
+ "id": 48990,
14007
14007
  "isConstant": false,
14008
14008
  "isLValue": false,
14009
14009
  "isPure": false,
@@ -14032,7 +14032,7 @@
14032
14032
  "operator": "=",
14033
14033
  "rightHandSide": {
14034
14034
  "hexValue": "74727565",
14035
- "id": 48981,
14035
+ "id": 48992,
14036
14036
  "isConstant": false,
14037
14037
  "isLValue": false,
14038
14038
  "isPure": true,
@@ -14052,7 +14052,7 @@
14052
14052
  "typeString": "bool"
14053
14053
  }
14054
14054
  },
14055
- "id": 48983,
14055
+ "id": 48994,
14056
14056
  "nodeType": "ExpressionStatement",
14057
14057
  "src": "3946:26:116"
14058
14058
  },
@@ -14061,7 +14061,7 @@
14061
14061
  "arguments": [
14062
14062
  {
14063
14063
  "expression": {
14064
- "id": 48985,
14064
+ "id": 48996,
14065
14065
  "name": "msg",
14066
14066
  "nodeType": "Identifier",
14067
14067
  "overloadedDeclarations": [],
@@ -14072,7 +14072,7 @@
14072
14072
  "typeString": "msg"
14073
14073
  }
14074
14074
  },
14075
- "id": 48986,
14075
+ "id": 48997,
14076
14076
  "isConstant": false,
14077
14077
  "isLValue": false,
14078
14078
  "isPure": false,
@@ -14094,18 +14094,18 @@
14094
14094
  "typeString": "address"
14095
14095
  }
14096
14096
  ],
14097
- "id": 48984,
14097
+ "id": 48995,
14098
14098
  "name": "OptoutAutoUpgrade",
14099
14099
  "nodeType": "Identifier",
14100
14100
  "overloadedDeclarations": [],
14101
- "referencedDeclaration": 48706,
14101
+ "referencedDeclaration": 48717,
14102
14102
  "src": "3987:17:116",
14103
14103
  "typeDescriptions": {
14104
14104
  "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$",
14105
14105
  "typeString": "function (address)"
14106
14106
  }
14107
14107
  },
14108
- "id": 48987,
14108
+ "id": 48998,
14109
14109
  "isConstant": false,
14110
14110
  "isLValue": false,
14111
14111
  "isPure": false,
@@ -14121,20 +14121,20 @@
14121
14121
  "typeString": "tuple()"
14122
14122
  }
14123
14123
  },
14124
- "id": 48988,
14124
+ "id": 48999,
14125
14125
  "nodeType": "EmitStatement",
14126
14126
  "src": "3982:34:116"
14127
14127
  }
14128
14128
  ]
14129
14129
  },
14130
14130
  "documentation": {
14131
- "id": 48974,
14131
+ "id": 48985,
14132
14132
  "nodeType": "StructuredDocumentation",
14133
14133
  "src": "3822:70:116",
14134
14134
  "text": " @dev User signal that opt-out from backend upgrades"
14135
14135
  },
14136
14136
  "functionSelector": "ec328253",
14137
- "id": 48990,
14137
+ "id": 49001,
14138
14138
  "implemented": true,
14139
14139
  "kind": "function",
14140
14140
  "modifiers": [],
@@ -14142,18 +14142,18 @@
14142
14142
  "nameLocation": "3906:18:116",
14143
14143
  "nodeType": "FunctionDefinition",
14144
14144
  "parameters": {
14145
- "id": 48975,
14145
+ "id": 48986,
14146
14146
  "nodeType": "ParameterList",
14147
14147
  "parameters": [],
14148
14148
  "src": "3924:2:116"
14149
14149
  },
14150
14150
  "returnParameters": {
14151
- "id": 48976,
14151
+ "id": 48987,
14152
14152
  "nodeType": "ParameterList",
14153
14153
  "parameters": [],
14154
14154
  "src": "3936:0:116"
14155
14155
  },
14156
- "scope": 49007,
14156
+ "scope": 49018,
14157
14157
  "src": "3897:126:116",
14158
14158
  "stateMutability": "nonpayable",
14159
14159
  "virtual": false,
@@ -14161,13 +14161,13 @@
14161
14161
  },
14162
14162
  {
14163
14163
  "body": {
14164
- "id": 49005,
14164
+ "id": 49016,
14165
14165
  "nodeType": "Block",
14166
14166
  "src": "4149:86:116",
14167
14167
  "statements": [
14168
14168
  {
14169
14169
  "expression": {
14170
- "id": 48998,
14170
+ "id": 49009,
14171
14171
  "isConstant": false,
14172
14172
  "isLValue": false,
14173
14173
  "isPure": false,
@@ -14178,21 +14178,21 @@
14178
14178
  "src": "4159:26:116",
14179
14179
  "subExpression": {
14180
14180
  "baseExpression": {
14181
- "id": 48994,
14181
+ "id": 49005,
14182
14182
  "name": "_optout",
14183
14183
  "nodeType": "Identifier",
14184
14184
  "overloadedDeclarations": [],
14185
- "referencedDeclaration": 48714,
14185
+ "referencedDeclaration": 48725,
14186
14186
  "src": "4166:7:116",
14187
14187
  "typeDescriptions": {
14188
14188
  "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
14189
14189
  "typeString": "mapping(address => bool)"
14190
14190
  }
14191
14191
  },
14192
- "id": 48997,
14192
+ "id": 49008,
14193
14193
  "indexExpression": {
14194
14194
  "expression": {
14195
- "id": 48995,
14195
+ "id": 49006,
14196
14196
  "name": "msg",
14197
14197
  "nodeType": "Identifier",
14198
14198
  "overloadedDeclarations": [],
@@ -14203,7 +14203,7 @@
14203
14203
  "typeString": "msg"
14204
14204
  }
14205
14205
  },
14206
- "id": 48996,
14206
+ "id": 49007,
14207
14207
  "isConstant": false,
14208
14208
  "isLValue": false,
14209
14209
  "isPure": false,
@@ -14233,7 +14233,7 @@
14233
14233
  "typeString": "tuple()"
14234
14234
  }
14235
14235
  },
14236
- "id": 48999,
14236
+ "id": 49010,
14237
14237
  "nodeType": "ExpressionStatement",
14238
14238
  "src": "4159:26:116"
14239
14239
  },
@@ -14242,7 +14242,7 @@
14242
14242
  "arguments": [
14243
14243
  {
14244
14244
  "expression": {
14245
- "id": 49001,
14245
+ "id": 49012,
14246
14246
  "name": "msg",
14247
14247
  "nodeType": "Identifier",
14248
14248
  "overloadedDeclarations": [],
@@ -14253,7 +14253,7 @@
14253
14253
  "typeString": "msg"
14254
14254
  }
14255
14255
  },
14256
- "id": 49002,
14256
+ "id": 49013,
14257
14257
  "isConstant": false,
14258
14258
  "isLValue": false,
14259
14259
  "isPure": false,
@@ -14275,18 +14275,18 @@
14275
14275
  "typeString": "address"
14276
14276
  }
14277
14277
  ],
14278
- "id": 49000,
14278
+ "id": 49011,
14279
14279
  "name": "OptinAutoUpgrade",
14280
14280
  "nodeType": "Identifier",
14281
14281
  "overloadedDeclarations": [],
14282
- "referencedDeclaration": 48710,
14282
+ "referencedDeclaration": 48721,
14283
14283
  "src": "4200:16:116",
14284
14284
  "typeDescriptions": {
14285
14285
  "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$",
14286
14286
  "typeString": "function (address)"
14287
14287
  }
14288
14288
  },
14289
- "id": 49003,
14289
+ "id": 49014,
14290
14290
  "isConstant": false,
14291
14291
  "isLValue": false,
14292
14292
  "isPure": false,
@@ -14302,20 +14302,20 @@
14302
14302
  "typeString": "tuple()"
14303
14303
  }
14304
14304
  },
14305
- "id": 49004,
14305
+ "id": 49015,
14306
14306
  "nodeType": "EmitStatement",
14307
14307
  "src": "4195:33:116"
14308
14308
  }
14309
14309
  ]
14310
14310
  },
14311
14311
  "documentation": {
14312
- "id": 48991,
14312
+ "id": 49002,
14313
14313
  "nodeType": "StructuredDocumentation",
14314
14314
  "src": "4029:77:116",
14315
14315
  "text": " @dev User signal that revoke opt-out from backend upgrades"
14316
14316
  },
14317
14317
  "functionSelector": "5d730c58",
14318
- "id": 49006,
14318
+ "id": 49017,
14319
14319
  "implemented": true,
14320
14320
  "kind": "function",
14321
14321
  "modifiers": [],
@@ -14323,25 +14323,25 @@
14323
14323
  "nameLocation": "4120:17:116",
14324
14324
  "nodeType": "FunctionDefinition",
14325
14325
  "parameters": {
14326
- "id": 48992,
14326
+ "id": 49003,
14327
14327
  "nodeType": "ParameterList",
14328
14328
  "parameters": [],
14329
14329
  "src": "4137:2:116"
14330
14330
  },
14331
14331
  "returnParameters": {
14332
- "id": 48993,
14332
+ "id": 49004,
14333
14333
  "nodeType": "ParameterList",
14334
14334
  "parameters": [],
14335
14335
  "src": "4149:0:116"
14336
14336
  },
14337
- "scope": 49007,
14337
+ "scope": 49018,
14338
14338
  "src": "4111:124:116",
14339
14339
  "stateMutability": "nonpayable",
14340
14340
  "virtual": false,
14341
14341
  "visibility": "external"
14342
14342
  }
14343
14343
  ],
14344
- "scope": 49008,
14344
+ "scope": 49019,
14345
14345
  "src": "697:3540:116",
14346
14346
  "usedErrors": []
14347
14347
  }
@@ -14354,7 +14354,7 @@
14354
14354
  },
14355
14355
  "networks": {},
14356
14356
  "schemaVersion": "3.4.13",
14357
- "updatedAt": "2023-06-28T11:03:19.468Z",
14357
+ "updatedAt": "2023-07-03T09:59:50.865Z",
14358
14358
  "devdoc": {
14359
14359
  "author": "Superfluid NOTE: - User would need to first SuperToken.approve the `SuperUpgrader` for the job. - Using access control to allow multiple backend agent to upgrade tokens for the users - Risk taken by the user is that the underlying tokens are converted to the Super Tokens by the upgrader agents.",
14360
14360
  "events": {