@superfluid-finance/ethereum-contracts 1.4.1 → 1.4.2-dev.e06ddfc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/build/contracts/AccessControl.json +1 -1
  2. package/build/contracts/AccessControlEnumerable.json +1 -1
  3. package/build/contracts/Address.json +1 -1
  4. package/build/contracts/AgreementBase.json +28 -28
  5. package/build/contracts/AgreementLibrary.json +165 -165
  6. package/build/contracts/BaseRelayRecipient.json +55 -55
  7. package/build/contracts/BatchLiquidator.json +208 -208
  8. package/build/contracts/BatchOperation.json +788 -788
  9. package/build/contracts/CFAv1Forwarder.json +1321 -1321
  10. package/build/contracts/CFAv1Library.json +2279 -2279
  11. package/build/contracts/CallUtils.json +198 -198
  12. package/build/contracts/ClosingOnUpdateFlowTestApp.json +1544 -1544
  13. package/build/contracts/ConstantFlowAgreementV1.json +1702 -1622
  14. package/build/contracts/Context.json +1 -1
  15. package/build/contracts/ContextDefinitions.json +788 -788
  16. package/build/contracts/Create2.json +1 -1
  17. package/build/contracts/CustomSuperTokenBase.json +19 -19
  18. package/build/contracts/ERC165.json +1 -1
  19. package/build/contracts/ERC1820Implementer.json +1 -1
  20. package/build/contracts/ERC1820RegistryCompiled.json +22 -22
  21. package/build/contracts/ERC20.json +1 -1
  22. package/build/contracts/ERC20Burnable.json +1 -1
  23. package/build/contracts/ERC20Pausable.json +1 -1
  24. package/build/contracts/ERC20PresetMinterPauser.json +1 -1
  25. package/build/contracts/ERC20WithTokenInfo.json +23 -23
  26. package/build/contracts/ERC777Helper.json +380 -380
  27. package/build/contracts/ERC777RecipientDrainingGas.json +855 -855
  28. package/build/contracts/ERC777RecipientReverting.json +855 -855
  29. package/build/contracts/EnumerableSet.json +1 -1
  30. package/build/contracts/EventsEmitter.json +43 -43
  31. package/build/contracts/ExclusiveInflowTestApp.json +1544 -1544
  32. package/build/contracts/FixedSizeData.json +200 -200
  33. package/build/contracts/FlowExchangeTestApp.json +1545 -1545
  34. package/build/contracts/FlowOperatorDefinitions.json +788 -788
  35. package/build/contracts/FullUpgradableSuperTokenProxy.json +116 -116
  36. package/build/contracts/IAccessControl.json +1 -1
  37. package/build/contracts/IAccessControlEnumerable.json +1 -1
  38. package/build/contracts/IConstantFlowAgreementV1.json +615 -615
  39. package/build/contracts/IDAv1Library.json +2611 -2611
  40. package/build/contracts/IERC165.json +1 -1
  41. package/build/contracts/IERC1820Implementer.json +1 -1
  42. package/build/contracts/IERC1820Registry.json +1 -1
  43. package/build/contracts/IERC20.json +1 -1
  44. package/build/contracts/IERC20Metadata.json +1 -1
  45. package/build/contracts/IERC20Permit.json +1 -1
  46. package/build/contracts/IERC777.json +1 -1
  47. package/build/contracts/IERC777Recipient.json +1 -1
  48. package/build/contracts/IERC777Sender.json +1 -1
  49. package/build/contracts/IInstantDistributionAgreementV1.json +652 -652
  50. package/build/contracts/IMultiSigWallet.json +24 -24
  51. package/build/contracts/IPureSuperToken.json +47 -47
  52. package/build/contracts/IPureSuperTokenCustom.json +47 -47
  53. package/build/contracts/IRelayRecipient.json +27 -27
  54. package/build/contracts/IResolver.json +38 -38
  55. package/build/contracts/ISETH.json +52 -52
  56. package/build/contracts/ISETHCustom.json +52 -52
  57. package/build/contracts/ISuperAgreement.json +50 -50
  58. package/build/contracts/ISuperApp.json +191 -191
  59. package/build/contracts/ISuperToken.json +544 -544
  60. package/build/contracts/ISuperTokenFactory.json +166 -166
  61. package/build/contracts/ISuperfluid.json +886 -886
  62. package/build/contracts/ISuperfluidGovernance.json +254 -254
  63. package/build/contracts/ISuperfluidToken.json +395 -395
  64. package/build/contracts/ITOGAv1.json +1441 -1441
  65. package/build/contracts/ITOGAv2.json +1441 -1441
  66. package/build/contracts/Initializable.json +1 -1
  67. package/build/contracts/InstantDistributionAgreementV1.json +5894 -5894
  68. package/build/contracts/NonClosableOutflowTestApp.json +1545 -1545
  69. package/build/contracts/Ownable.json +1 -1
  70. package/build/contracts/Pausable.json +1 -1
  71. package/build/contracts/Proxy.json +1 -1
  72. package/build/contracts/PureSuperToken.json +106 -106
  73. package/build/contracts/Resolver.json +98 -98
  74. package/build/contracts/SETHProxy.json +224 -224
  75. package/build/contracts/SafeCast.json +1 -1
  76. package/build/contracts/SafeERC20.json +1 -1
  77. package/build/contracts/SafeMath.json +1 -1
  78. package/build/contracts/SelfDeletingFlowTestApp.json +1544 -1544
  79. package/build/contracts/SlotsBitmapLibrary.json +457 -457
  80. package/build/contracts/StreamRedirector.json +745 -745
  81. package/build/contracts/Strings.json +1 -1
  82. package/build/contracts/SuperAppBase.json +239 -239
  83. package/build/contracts/SuperAppDefinitions.json +788 -788
  84. package/build/contracts/SuperToken.json +2477 -2477
  85. package/build/contracts/SuperTokenFactory.json +774 -774
  86. package/build/contracts/SuperTokenFactoryBase.json +764 -764
  87. package/build/contracts/SuperTokenFactoryHelper.json +767 -767
  88. package/build/contracts/SuperUpgrader.json +437 -437
  89. package/build/contracts/Superfluid.json +5096 -5096
  90. package/build/contracts/SuperfluidErrors.json +788 -788
  91. package/build/contracts/SuperfluidFrameworkDeployer.json +765 -765
  92. package/build/contracts/SuperfluidGovernanceBase.json +2459 -2459
  93. package/build/contracts/SuperfluidGovernanceConfigs.json +788 -788
  94. package/build/contracts/SuperfluidGovernanceII.json +155 -155
  95. package/build/contracts/SuperfluidGovernanceIIProxy.json +135 -135
  96. package/build/contracts/SuperfluidLoader.json +207 -207
  97. package/build/contracts/SuperfluidToken.json +1471 -1471
  98. package/build/contracts/TOGA.json +1457 -1457
  99. package/build/contracts/TestGovernance.json +250 -250
  100. package/build/contracts/TestToken.json +93 -93
  101. package/build/contracts/TokenCustodian.json +214 -214
  102. package/build/contracts/TokenInfo.json +32 -32
  103. package/build/contracts/UUPSProxiable.json +139 -139
  104. package/build/contracts/UUPSProxy.json +81 -81
  105. package/build/contracts/UUPSUtils.json +37 -37
  106. package/build/contracts-sizes.txt +1 -1
  107. package/contracts/agreements/ConstantFlowAgreementV1.sol +4 -0
  108. package/package.json +9 -5
@@ -10178,7 +10178,7 @@
10178
10178
  1772
10179
10179
  ],
10180
10180
  "ISuperToken": [
10181
- 19933
10181
+ 19940
10182
10182
  ],
10183
10183
  "SafeERC20": [
10184
10184
  2189
@@ -10187,15 +10187,15 @@
10187
10187
  3046
10188
10188
  ],
10189
10189
  "SuperUpgrader": [
10190
- 38854
10190
+ 38861
10191
10191
  ]
10192
10192
  },
10193
- "id": 38855,
10193
+ "id": 38862,
10194
10194
  "license": "AGPLv3",
10195
10195
  "nodeType": "SourceUnit",
10196
10196
  "nodes": [
10197
10197
  {
10198
- "id": 38532,
10198
+ "id": 38539,
10199
10199
  "literals": [
10200
10200
  "solidity",
10201
10201
  "0.8",
@@ -10207,10 +10207,10 @@
10207
10207
  {
10208
10208
  "absolutePath": "@openzeppelin/contracts/access/AccessControlEnumerable.sol",
10209
10209
  "file": "@openzeppelin/contracts/access/AccessControlEnumerable.sol",
10210
- "id": 38533,
10210
+ "id": 38540,
10211
10211
  "nameLocation": "-1:-1:-1",
10212
10212
  "nodeType": "ImportDirective",
10213
- "scope": 38855,
10213
+ "scope": 38862,
10214
10214
  "sourceUnit": 445,
10215
10215
  "src": "60:68:99",
10216
10216
  "symbolAliases": [],
@@ -10219,10 +10219,10 @@
10219
10219
  {
10220
10220
  "absolutePath": "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol",
10221
10221
  "file": "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol",
10222
- "id": 38534,
10222
+ "id": 38541,
10223
10223
  "nameLocation": "-1:-1:-1",
10224
10224
  "nodeType": "ImportDirective",
10225
- "scope": 38855,
10225
+ "scope": 38862,
10226
10226
  "sourceUnit": 2190,
10227
10227
  "src": "129:65:99",
10228
10228
  "symbolAliases": [],
@@ -10231,20 +10231,20 @@
10231
10231
  {
10232
10232
  "absolutePath": "project:/contracts/interfaces/superfluid/ISuperfluid.sol",
10233
10233
  "file": "../interfaces/superfluid/ISuperfluid.sol",
10234
- "id": 38537,
10234
+ "id": 38544,
10235
10235
  "nameLocation": "-1:-1:-1",
10236
10236
  "nodeType": "ImportDirective",
10237
- "scope": 38855,
10238
- "sourceUnit": 20536,
10237
+ "scope": 38862,
10238
+ "sourceUnit": 20543,
10239
10239
  "src": "195:87:99",
10240
10240
  "symbolAliases": [
10241
10241
  {
10242
10242
  "foreign": {
10243
- "id": 38535,
10243
+ "id": 38542,
10244
10244
  "name": "ISuperToken",
10245
10245
  "nodeType": "Identifier",
10246
10246
  "overloadedDeclarations": [],
10247
- "referencedDeclaration": 19933,
10247
+ "referencedDeclaration": 19940,
10248
10248
  "src": "208:11:99",
10249
10249
  "typeDescriptions": {}
10250
10250
  },
@@ -10252,7 +10252,7 @@
10252
10252
  },
10253
10253
  {
10254
10254
  "foreign": {
10255
- "id": 38536,
10255
+ "id": 38543,
10256
10256
  "name": "IERC20",
10257
10257
  "nodeType": "Identifier",
10258
10258
  "overloadedDeclarations": [],
@@ -10270,7 +10270,7 @@
10270
10270
  "baseContracts": [
10271
10271
  {
10272
10272
  "baseName": {
10273
- "id": 38539,
10273
+ "id": 38546,
10274
10274
  "name": "AccessControlEnumerable",
10275
10275
  "nameLocations": [
10276
10276
  "671:23:99"
@@ -10279,7 +10279,7 @@
10279
10279
  "referencedDeclaration": 444,
10280
10280
  "src": "671:23:99"
10281
10281
  },
10282
- "id": 38540,
10282
+ "id": 38547,
10283
10283
  "nodeType": "InheritanceSpecifier",
10284
10284
  "src": "671:23:99"
10285
10285
  }
@@ -10288,15 +10288,15 @@
10288
10288
  "contractDependencies": [],
10289
10289
  "contractKind": "contract",
10290
10290
  "documentation": {
10291
- "id": 38538,
10291
+ "id": 38545,
10292
10292
  "nodeType": "StructuredDocumentation",
10293
10293
  "src": "284:360:99",
10294
10294
  "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."
10295
10295
  },
10296
10296
  "fullyImplemented": true,
10297
- "id": 38854,
10297
+ "id": 38861,
10298
10298
  "linearizedBaseContracts": [
10299
- 38854,
10299
+ 38861,
10300
10300
  444,
10301
10301
  319,
10302
10302
  3070,
@@ -10311,9 +10311,9 @@
10311
10311
  "nodes": [
10312
10312
  {
10313
10313
  "global": false,
10314
- "id": 38544,
10314
+ "id": 38551,
10315
10315
  "libraryName": {
10316
- "id": 38541,
10316
+ "id": 38548,
10317
10317
  "name": "SafeERC20",
10318
10318
  "nameLocations": [
10319
10319
  "708:9:99"
@@ -10325,10 +10325,10 @@
10325
10325
  "nodeType": "UsingForDirective",
10326
10326
  "src": "702:27:99",
10327
10327
  "typeName": {
10328
- "id": 38543,
10328
+ "id": 38550,
10329
10329
  "nodeType": "UserDefinedTypeName",
10330
10330
  "pathNode": {
10331
- "id": 38542,
10331
+ "id": 38549,
10332
10332
  "name": "IERC20",
10333
10333
  "nameLocations": [
10334
10334
  "722:6:99"
@@ -10348,12 +10348,12 @@
10348
10348
  {
10349
10349
  "constant": true,
10350
10350
  "functionSelector": "92c2becc",
10351
- "id": 38549,
10351
+ "id": 38556,
10352
10352
  "mutability": "constant",
10353
10353
  "name": "BACKEND_ROLE",
10354
10354
  "nameLocation": "815:12:99",
10355
10355
  "nodeType": "VariableDeclaration",
10356
- "scope": 38854,
10356
+ "scope": 38861,
10357
10357
  "src": "791:64:99",
10358
10358
  "stateVariable": true,
10359
10359
  "storageLocation": "default",
@@ -10362,7 +10362,7 @@
10362
10362
  "typeString": "bytes32"
10363
10363
  },
10364
10364
  "typeName": {
10365
- "id": 38545,
10365
+ "id": 38552,
10366
10366
  "name": "bytes32",
10367
10367
  "nodeType": "ElementaryTypeName",
10368
10368
  "src": "791:7:99",
@@ -10375,7 +10375,7 @@
10375
10375
  "arguments": [
10376
10376
  {
10377
10377
  "hexValue": "4241434b454e445f524f4c45",
10378
- "id": 38547,
10378
+ "id": 38554,
10379
10379
  "isConstant": false,
10380
10380
  "isLValue": false,
10381
10381
  "isPure": true,
@@ -10397,7 +10397,7 @@
10397
10397
  "typeString": "literal_string \"BACKEND_ROLE\""
10398
10398
  }
10399
10399
  ],
10400
- "id": 38546,
10400
+ "id": 38553,
10401
10401
  "name": "keccak256",
10402
10402
  "nodeType": "Identifier",
10403
10403
  "overloadedDeclarations": [],
@@ -10408,7 +10408,7 @@
10408
10408
  "typeString": "function (bytes memory) pure returns (bytes32)"
10409
10409
  }
10410
10410
  },
10411
- "id": 38548,
10411
+ "id": 38555,
10412
10412
  "isConstant": false,
10413
10413
  "isLValue": false,
10414
10414
  "isPure": true,
@@ -10429,23 +10429,23 @@
10429
10429
  {
10430
10430
  "anonymous": false,
10431
10431
  "eventSelector": "d07f586f18c37aa8ec13ebc5523e50304e2aa7711505bfa7242fcb7152eaee25",
10432
- "id": 38553,
10432
+ "id": 38560,
10433
10433
  "name": "OptoutAutoUpgrade",
10434
10434
  "nameLocation": "868:17:99",
10435
10435
  "nodeType": "EventDefinition",
10436
10436
  "parameters": {
10437
- "id": 38552,
10437
+ "id": 38559,
10438
10438
  "nodeType": "ParameterList",
10439
10439
  "parameters": [
10440
10440
  {
10441
10441
  "constant": false,
10442
- "id": 38551,
10442
+ "id": 38558,
10443
10443
  "indexed": true,
10444
10444
  "mutability": "mutable",
10445
10445
  "name": "account",
10446
10446
  "nameLocation": "902:7:99",
10447
10447
  "nodeType": "VariableDeclaration",
10448
- "scope": 38553,
10448
+ "scope": 38560,
10449
10449
  "src": "886:23:99",
10450
10450
  "stateVariable": false,
10451
10451
  "storageLocation": "default",
@@ -10454,7 +10454,7 @@
10454
10454
  "typeString": "address"
10455
10455
  },
10456
10456
  "typeName": {
10457
- "id": 38550,
10457
+ "id": 38557,
10458
10458
  "name": "address",
10459
10459
  "nodeType": "ElementaryTypeName",
10460
10460
  "src": "886:7:99",
@@ -10474,23 +10474,23 @@
10474
10474
  {
10475
10475
  "anonymous": false,
10476
10476
  "eventSelector": "de802370a7a9557e8d50bffe30a1bbd3d327beb1964088485a5465325bc5fb7a",
10477
- "id": 38557,
10477
+ "id": 38564,
10478
10478
  "name": "OptinAutoUpgrade",
10479
10479
  "nameLocation": "922:16:99",
10480
10480
  "nodeType": "EventDefinition",
10481
10481
  "parameters": {
10482
- "id": 38556,
10482
+ "id": 38563,
10483
10483
  "nodeType": "ParameterList",
10484
10484
  "parameters": [
10485
10485
  {
10486
10486
  "constant": false,
10487
- "id": 38555,
10487
+ "id": 38562,
10488
10488
  "indexed": true,
10489
10489
  "mutability": "mutable",
10490
10490
  "name": "account",
10491
10491
  "nameLocation": "955:7:99",
10492
10492
  "nodeType": "VariableDeclaration",
10493
- "scope": 38557,
10493
+ "scope": 38564,
10494
10494
  "src": "939:23:99",
10495
10495
  "stateVariable": false,
10496
10496
  "storageLocation": "default",
@@ -10499,7 +10499,7 @@
10499
10499
  "typeString": "address"
10500
10500
  },
10501
10501
  "typeName": {
10502
- "id": 38554,
10502
+ "id": 38561,
10503
10503
  "name": "address",
10504
10504
  "nodeType": "ElementaryTypeName",
10505
10505
  "src": "939:7:99",
@@ -10518,12 +10518,12 @@
10518
10518
  },
10519
10519
  {
10520
10520
  "constant": false,
10521
- "id": 38561,
10521
+ "id": 38568,
10522
10522
  "mutability": "mutable",
10523
10523
  "name": "_optout",
10524
10524
  "nameLocation": "1004:7:99",
10525
10525
  "nodeType": "VariableDeclaration",
10526
- "scope": 38854,
10526
+ "scope": 38861,
10527
10527
  "src": "970:41:99",
10528
10528
  "stateVariable": true,
10529
10529
  "storageLocation": "default",
@@ -10532,9 +10532,9 @@
10532
10532
  "typeString": "mapping(address => bool)"
10533
10533
  },
10534
10534
  "typeName": {
10535
- "id": 38560,
10535
+ "id": 38567,
10536
10536
  "keyType": {
10537
- "id": 38558,
10537
+ "id": 38565,
10538
10538
  "name": "address",
10539
10539
  "nodeType": "ElementaryTypeName",
10540
10540
  "src": "978:7:99",
@@ -10550,7 +10550,7 @@
10550
10550
  "typeString": "mapping(address => bool)"
10551
10551
  },
10552
10552
  "valueType": {
10553
- "id": 38559,
10553
+ "id": 38566,
10554
10554
  "name": "bool",
10555
10555
  "nodeType": "ElementaryTypeName",
10556
10556
  "src": "989:4:99",
@@ -10564,7 +10564,7 @@
10564
10564
  },
10565
10565
  {
10566
10566
  "body": {
10567
- "id": 38616,
10567
+ "id": 38623,
10568
10568
  "nodeType": "Block",
10569
10569
  "src": "1079:321:99",
10570
10570
  "statements": [
@@ -10576,17 +10576,17 @@
10576
10576
  "typeIdentifier": "t_address",
10577
10577
  "typeString": "address"
10578
10578
  },
10579
- "id": 38575,
10579
+ "id": 38582,
10580
10580
  "isConstant": false,
10581
10581
  "isLValue": false,
10582
10582
  "isPure": false,
10583
10583
  "lValueRequested": false,
10584
10584
  "leftExpression": {
10585
- "id": 38570,
10585
+ "id": 38577,
10586
10586
  "name": "adminRole",
10587
10587
  "nodeType": "Identifier",
10588
10588
  "overloadedDeclarations": [],
10589
- "referencedDeclaration": 38563,
10589
+ "referencedDeclaration": 38570,
10590
10590
  "src": "1097:9:99",
10591
10591
  "typeDescriptions": {
10592
10592
  "typeIdentifier": "t_address",
@@ -10599,7 +10599,7 @@
10599
10599
  "arguments": [
10600
10600
  {
10601
10601
  "hexValue": "30",
10602
- "id": 38573,
10602
+ "id": 38580,
10603
10603
  "isConstant": false,
10604
10604
  "isLValue": false,
10605
10605
  "isPure": true,
@@ -10621,7 +10621,7 @@
10621
10621
  "typeString": "int_const 0"
10622
10622
  }
10623
10623
  ],
10624
- "id": 38572,
10624
+ "id": 38579,
10625
10625
  "isConstant": false,
10626
10626
  "isLValue": false,
10627
10627
  "isPure": true,
@@ -10633,14 +10633,14 @@
10633
10633
  "typeString": "type(address)"
10634
10634
  },
10635
10635
  "typeName": {
10636
- "id": 38571,
10636
+ "id": 38578,
10637
10637
  "name": "address",
10638
10638
  "nodeType": "ElementaryTypeName",
10639
10639
  "src": "1110:7:99",
10640
10640
  "typeDescriptions": {}
10641
10641
  }
10642
10642
  },
10643
- "id": 38574,
10643
+ "id": 38581,
10644
10644
  "isConstant": false,
10645
10645
  "isLValue": false,
10646
10646
  "isPure": true,
@@ -10664,7 +10664,7 @@
10664
10664
  },
10665
10665
  {
10666
10666
  "hexValue": "61646d696e526f6c6520697320656d707479",
10667
- "id": 38576,
10667
+ "id": 38583,
10668
10668
  "isConstant": false,
10669
10669
  "isLValue": false,
10670
10670
  "isPure": true,
@@ -10690,7 +10690,7 @@
10690
10690
  "typeString": "literal_string \"adminRole is empty\""
10691
10691
  }
10692
10692
  ],
10693
- "id": 38569,
10693
+ "id": 38576,
10694
10694
  "name": "require",
10695
10695
  "nodeType": "Identifier",
10696
10696
  "overloadedDeclarations": [
@@ -10704,7 +10704,7 @@
10704
10704
  "typeString": "function (bool,string memory) pure"
10705
10705
  }
10706
10706
  },
10707
- "id": 38577,
10707
+ "id": 38584,
10708
10708
  "isConstant": false,
10709
10709
  "isLValue": false,
10710
10710
  "isPure": false,
@@ -10720,7 +10720,7 @@
10720
10720
  "typeString": "tuple()"
10721
10721
  }
10722
10722
  },
10723
- "id": 38578,
10723
+ "id": 38585,
10724
10724
  "nodeType": "ExpressionStatement",
10725
10725
  "src": "1089:54:99"
10726
10726
  },
@@ -10728,7 +10728,7 @@
10728
10728
  "expression": {
10729
10729
  "arguments": [
10730
10730
  {
10731
- "id": 38580,
10731
+ "id": 38587,
10732
10732
  "name": "DEFAULT_ADMIN_ROLE",
10733
10733
  "nodeType": "Identifier",
10734
10734
  "overloadedDeclarations": [],
@@ -10740,11 +10740,11 @@
10740
10740
  }
10741
10741
  },
10742
10742
  {
10743
- "id": 38581,
10743
+ "id": 38588,
10744
10744
  "name": "adminRole",
10745
10745
  "nodeType": "Identifier",
10746
10746
  "overloadedDeclarations": [],
10747
- "referencedDeclaration": 38563,
10747
+ "referencedDeclaration": 38570,
10748
10748
  "src": "1184:9:99",
10749
10749
  "typeDescriptions": {
10750
10750
  "typeIdentifier": "t_address",
@@ -10763,7 +10763,7 @@
10763
10763
  "typeString": "address"
10764
10764
  }
10765
10765
  ],
10766
- "id": 38579,
10766
+ "id": 38586,
10767
10767
  "name": "_setupRole",
10768
10768
  "nodeType": "Identifier",
10769
10769
  "overloadedDeclarations": [],
@@ -10774,7 +10774,7 @@
10774
10774
  "typeString": "function (bytes32,address)"
10775
10775
  }
10776
10776
  },
10777
- "id": 38582,
10777
+ "id": 38589,
10778
10778
  "isConstant": false,
10779
10779
  "isLValue": false,
10780
10780
  "isPure": false,
@@ -10790,13 +10790,13 @@
10790
10790
  "typeString": "tuple()"
10791
10791
  }
10792
10792
  },
10793
- "id": 38583,
10793
+ "id": 38590,
10794
10794
  "nodeType": "ExpressionStatement",
10795
10795
  "src": "1153:41:99"
10796
10796
  },
10797
10797
  {
10798
10798
  "body": {
10799
- "id": 38614,
10799
+ "id": 38621,
10800
10800
  "nodeType": "Block",
10801
10801
  "src": "1253:141:99",
10802
10802
  "statements": [
@@ -10808,31 +10808,31 @@
10808
10808
  "typeIdentifier": "t_address",
10809
10809
  "typeString": "address"
10810
10810
  },
10811
- "id": 38603,
10811
+ "id": 38610,
10812
10812
  "isConstant": false,
10813
10813
  "isLValue": false,
10814
10814
  "isPure": false,
10815
10815
  "lValueRequested": false,
10816
10816
  "leftExpression": {
10817
10817
  "baseExpression": {
10818
- "id": 38596,
10818
+ "id": 38603,
10819
10819
  "name": "backendAddr",
10820
10820
  "nodeType": "Identifier",
10821
10821
  "overloadedDeclarations": [],
10822
- "referencedDeclaration": 38566,
10822
+ "referencedDeclaration": 38573,
10823
10823
  "src": "1275:11:99",
10824
10824
  "typeDescriptions": {
10825
10825
  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
10826
10826
  "typeString": "address[] memory"
10827
10827
  }
10828
10828
  },
10829
- "id": 38598,
10829
+ "id": 38605,
10830
10830
  "indexExpression": {
10831
- "id": 38597,
10831
+ "id": 38604,
10832
10832
  "name": "i",
10833
10833
  "nodeType": "Identifier",
10834
10834
  "overloadedDeclarations": [],
10835
- "referencedDeclaration": 38585,
10835
+ "referencedDeclaration": 38592,
10836
10836
  "src": "1287:1:99",
10837
10837
  "typeDescriptions": {
10838
10838
  "typeIdentifier": "t_uint256",
@@ -10856,7 +10856,7 @@
10856
10856
  "arguments": [
10857
10857
  {
10858
10858
  "hexValue": "30",
10859
- "id": 38601,
10859
+ "id": 38608,
10860
10860
  "isConstant": false,
10861
10861
  "isLValue": false,
10862
10862
  "isPure": true,
@@ -10878,7 +10878,7 @@
10878
10878
  "typeString": "int_const 0"
10879
10879
  }
10880
10880
  ],
10881
- "id": 38600,
10881
+ "id": 38607,
10882
10882
  "isConstant": false,
10883
10883
  "isLValue": false,
10884
10884
  "isPure": true,
@@ -10890,14 +10890,14 @@
10890
10890
  "typeString": "type(address)"
10891
10891
  },
10892
10892
  "typeName": {
10893
- "id": 38599,
10893
+ "id": 38606,
10894
10894
  "name": "address",
10895
10895
  "nodeType": "ElementaryTypeName",
10896
10896
  "src": "1293:7:99",
10897
10897
  "typeDescriptions": {}
10898
10898
  }
10899
10899
  },
10900
- "id": 38602,
10900
+ "id": 38609,
10901
10901
  "isConstant": false,
10902
10902
  "isLValue": false,
10903
10903
  "isPure": true,
@@ -10921,7 +10921,7 @@
10921
10921
  },
10922
10922
  {
10923
10923
  "hexValue": "6261636b656e642063616e2774206265207a65726f",
10924
- "id": 38604,
10924
+ "id": 38611,
10925
10925
  "isConstant": false,
10926
10926
  "isLValue": false,
10927
10927
  "isPure": true,
@@ -10947,7 +10947,7 @@
10947
10947
  "typeString": "literal_string \"backend can't be zero\""
10948
10948
  }
10949
10949
  ],
10950
- "id": 38595,
10950
+ "id": 38602,
10951
10951
  "name": "require",
10952
10952
  "nodeType": "Identifier",
10953
10953
  "overloadedDeclarations": [
@@ -10961,7 +10961,7 @@
10961
10961
  "typeString": "function (bool,string memory) pure"
10962
10962
  }
10963
10963
  },
10964
- "id": 38605,
10964
+ "id": 38612,
10965
10965
  "isConstant": false,
10966
10966
  "isLValue": false,
10967
10967
  "isPure": false,
@@ -10977,7 +10977,7 @@
10977
10977
  "typeString": "tuple()"
10978
10978
  }
10979
10979
  },
10980
- "id": 38606,
10980
+ "id": 38613,
10981
10981
  "nodeType": "ExpressionStatement",
10982
10982
  "src": "1267:62:99"
10983
10983
  },
@@ -10985,11 +10985,11 @@
10985
10985
  "expression": {
10986
10986
  "arguments": [
10987
10987
  {
10988
- "id": 38608,
10988
+ "id": 38615,
10989
10989
  "name": "BACKEND_ROLE",
10990
10990
  "nodeType": "Identifier",
10991
10991
  "overloadedDeclarations": [],
10992
- "referencedDeclaration": 38549,
10992
+ "referencedDeclaration": 38556,
10993
10993
  "src": "1354:12:99",
10994
10994
  "typeDescriptions": {
10995
10995
  "typeIdentifier": "t_bytes32",
@@ -10998,24 +10998,24 @@
10998
10998
  },
10999
10999
  {
11000
11000
  "baseExpression": {
11001
- "id": 38609,
11001
+ "id": 38616,
11002
11002
  "name": "backendAddr",
11003
11003
  "nodeType": "Identifier",
11004
11004
  "overloadedDeclarations": [],
11005
- "referencedDeclaration": 38566,
11005
+ "referencedDeclaration": 38573,
11006
11006
  "src": "1368:11:99",
11007
11007
  "typeDescriptions": {
11008
11008
  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
11009
11009
  "typeString": "address[] memory"
11010
11010
  }
11011
11011
  },
11012
- "id": 38611,
11012
+ "id": 38618,
11013
11013
  "indexExpression": {
11014
- "id": 38610,
11014
+ "id": 38617,
11015
11015
  "name": "i",
11016
11016
  "nodeType": "Identifier",
11017
11017
  "overloadedDeclarations": [],
11018
- "referencedDeclaration": 38585,
11018
+ "referencedDeclaration": 38592,
11019
11019
  "src": "1380:1:99",
11020
11020
  "typeDescriptions": {
11021
11021
  "typeIdentifier": "t_uint256",
@@ -11045,7 +11045,7 @@
11045
11045
  "typeString": "address"
11046
11046
  }
11047
11047
  ],
11048
- "id": 38607,
11048
+ "id": 38614,
11049
11049
  "name": "_setupRole",
11050
11050
  "nodeType": "Identifier",
11051
11051
  "overloadedDeclarations": [],
@@ -11056,7 +11056,7 @@
11056
11056
  "typeString": "function (bytes32,address)"
11057
11057
  }
11058
11058
  },
11059
- "id": 38612,
11059
+ "id": 38619,
11060
11060
  "isConstant": false,
11061
11061
  "isLValue": false,
11062
11062
  "isPure": false,
@@ -11072,7 +11072,7 @@
11072
11072
  "typeString": "tuple()"
11073
11073
  }
11074
11074
  },
11075
- "id": 38613,
11075
+ "id": 38620,
11076
11076
  "nodeType": "ExpressionStatement",
11077
11077
  "src": "1343:40:99"
11078
11078
  }
@@ -11083,17 +11083,17 @@
11083
11083
  "typeIdentifier": "t_uint256",
11084
11084
  "typeString": "uint256"
11085
11085
  },
11086
- "id": 38591,
11086
+ "id": 38598,
11087
11087
  "isConstant": false,
11088
11088
  "isLValue": false,
11089
11089
  "isPure": false,
11090
11090
  "lValueRequested": false,
11091
11091
  "leftExpression": {
11092
- "id": 38588,
11092
+ "id": 38595,
11093
11093
  "name": "i",
11094
11094
  "nodeType": "Identifier",
11095
11095
  "overloadedDeclarations": [],
11096
- "referencedDeclaration": 38585,
11096
+ "referencedDeclaration": 38592,
11097
11097
  "src": "1224:1:99",
11098
11098
  "typeDescriptions": {
11099
11099
  "typeIdentifier": "t_uint256",
@@ -11104,18 +11104,18 @@
11104
11104
  "operator": "<",
11105
11105
  "rightExpression": {
11106
11106
  "expression": {
11107
- "id": 38589,
11107
+ "id": 38596,
11108
11108
  "name": "backendAddr",
11109
11109
  "nodeType": "Identifier",
11110
11110
  "overloadedDeclarations": [],
11111
- "referencedDeclaration": 38566,
11111
+ "referencedDeclaration": 38573,
11112
11112
  "src": "1228:11:99",
11113
11113
  "typeDescriptions": {
11114
11114
  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
11115
11115
  "typeString": "address[] memory"
11116
11116
  }
11117
11117
  },
11118
- "id": 38590,
11118
+ "id": 38597,
11119
11119
  "isConstant": false,
11120
11120
  "isLValue": false,
11121
11121
  "isPure": false,
@@ -11135,20 +11135,20 @@
11135
11135
  "typeString": "bool"
11136
11136
  }
11137
11137
  },
11138
- "id": 38615,
11138
+ "id": 38622,
11139
11139
  "initializationExpression": {
11140
11140
  "assignments": [
11141
- 38585
11141
+ 38592
11142
11142
  ],
11143
11143
  "declarations": [
11144
11144
  {
11145
11145
  "constant": false,
11146
- "id": 38585,
11146
+ "id": 38592,
11147
11147
  "mutability": "mutable",
11148
11148
  "name": "i",
11149
11149
  "nameLocation": "1217:1:99",
11150
11150
  "nodeType": "VariableDeclaration",
11151
- "scope": 38615,
11151
+ "scope": 38622,
11152
11152
  "src": "1209:9:99",
11153
11153
  "stateVariable": false,
11154
11154
  "storageLocation": "default",
@@ -11157,7 +11157,7 @@
11157
11157
  "typeString": "uint256"
11158
11158
  },
11159
11159
  "typeName": {
11160
- "id": 38584,
11160
+ "id": 38591,
11161
11161
  "name": "uint256",
11162
11162
  "nodeType": "ElementaryTypeName",
11163
11163
  "src": "1209:7:99",
@@ -11169,10 +11169,10 @@
11169
11169
  "visibility": "internal"
11170
11170
  }
11171
11171
  ],
11172
- "id": 38587,
11172
+ "id": 38594,
11173
11173
  "initialValue": {
11174
11174
  "hexValue": "30",
11175
- "id": 38586,
11175
+ "id": 38593,
11176
11176
  "isConstant": false,
11177
11177
  "isLValue": false,
11178
11178
  "isPure": true,
@@ -11191,7 +11191,7 @@
11191
11191
  },
11192
11192
  "loopExpression": {
11193
11193
  "expression": {
11194
- "id": 38593,
11194
+ "id": 38600,
11195
11195
  "isConstant": false,
11196
11196
  "isLValue": false,
11197
11197
  "isPure": false,
@@ -11201,11 +11201,11 @@
11201
11201
  "prefix": true,
11202
11202
  "src": "1248:3:99",
11203
11203
  "subExpression": {
11204
- "id": 38592,
11204
+ "id": 38599,
11205
11205
  "name": "i",
11206
11206
  "nodeType": "Identifier",
11207
11207
  "overloadedDeclarations": [],
11208
- "referencedDeclaration": 38585,
11208
+ "referencedDeclaration": 38592,
11209
11209
  "src": "1250:1:99",
11210
11210
  "typeDescriptions": {
11211
11211
  "typeIdentifier": "t_uint256",
@@ -11217,7 +11217,7 @@
11217
11217
  "typeString": "uint256"
11218
11218
  }
11219
11219
  },
11220
- "id": 38594,
11220
+ "id": 38601,
11221
11221
  "nodeType": "ExpressionStatement",
11222
11222
  "src": "1248:3:99"
11223
11223
  },
@@ -11226,7 +11226,7 @@
11226
11226
  }
11227
11227
  ]
11228
11228
  },
11229
- "id": 38617,
11229
+ "id": 38624,
11230
11230
  "implemented": true,
11231
11231
  "kind": "constructor",
11232
11232
  "modifiers": [],
@@ -11234,17 +11234,17 @@
11234
11234
  "nameLocation": "-1:-1:-1",
11235
11235
  "nodeType": "FunctionDefinition",
11236
11236
  "parameters": {
11237
- "id": 38567,
11237
+ "id": 38574,
11238
11238
  "nodeType": "ParameterList",
11239
11239
  "parameters": [
11240
11240
  {
11241
11241
  "constant": false,
11242
- "id": 38563,
11242
+ "id": 38570,
11243
11243
  "mutability": "mutable",
11244
11244
  "name": "adminRole",
11245
11245
  "nameLocation": "1038:9:99",
11246
11246
  "nodeType": "VariableDeclaration",
11247
- "scope": 38617,
11247
+ "scope": 38624,
11248
11248
  "src": "1030:17:99",
11249
11249
  "stateVariable": false,
11250
11250
  "storageLocation": "default",
@@ -11253,7 +11253,7 @@
11253
11253
  "typeString": "address"
11254
11254
  },
11255
11255
  "typeName": {
11256
- "id": 38562,
11256
+ "id": 38569,
11257
11257
  "name": "address",
11258
11258
  "nodeType": "ElementaryTypeName",
11259
11259
  "src": "1030:7:99",
@@ -11267,12 +11267,12 @@
11267
11267
  },
11268
11268
  {
11269
11269
  "constant": false,
11270
- "id": 38566,
11270
+ "id": 38573,
11271
11271
  "mutability": "mutable",
11272
11272
  "name": "backendAddr",
11273
11273
  "nameLocation": "1066:11:99",
11274
11274
  "nodeType": "VariableDeclaration",
11275
- "scope": 38617,
11275
+ "scope": 38624,
11276
11276
  "src": "1049:28:99",
11277
11277
  "stateVariable": false,
11278
11278
  "storageLocation": "memory",
@@ -11282,7 +11282,7 @@
11282
11282
  },
11283
11283
  "typeName": {
11284
11284
  "baseType": {
11285
- "id": 38564,
11285
+ "id": 38571,
11286
11286
  "name": "address",
11287
11287
  "nodeType": "ElementaryTypeName",
11288
11288
  "src": "1049:7:99",
@@ -11292,7 +11292,7 @@
11292
11292
  "typeString": "address"
11293
11293
  }
11294
11294
  },
11295
- "id": 38565,
11295
+ "id": 38572,
11296
11296
  "nodeType": "ArrayTypeName",
11297
11297
  "src": "1049:9:99",
11298
11298
  "typeDescriptions": {
@@ -11306,12 +11306,12 @@
11306
11306
  "src": "1029:49:99"
11307
11307
  },
11308
11308
  "returnParameters": {
11309
- "id": 38568,
11309
+ "id": 38575,
11310
11310
  "nodeType": "ParameterList",
11311
11311
  "parameters": [],
11312
11312
  "src": "1079:0:99"
11313
11313
  },
11314
- "scope": 38854,
11314
+ "scope": 38861,
11315
11315
  "src": "1018:382:99",
11316
11316
  "stateMutability": "nonpayable",
11317
11317
  "virtual": false,
@@ -11319,7 +11319,7 @@
11319
11319
  },
11320
11320
  {
11321
11321
  "body": {
11322
- "id": 38723,
11322
+ "id": 38730,
11323
11323
  "nodeType": "Block",
11324
11324
  "src": "1847:764:99",
11325
11325
  "statements": [
@@ -11331,7 +11331,7 @@
11331
11331
  "typeIdentifier": "t_bool",
11332
11332
  "typeString": "bool"
11333
11333
  },
11334
- "id": 38643,
11334
+ "id": 38650,
11335
11335
  "isConstant": false,
11336
11336
  "isLValue": false,
11337
11337
  "isPure": false,
@@ -11341,14 +11341,14 @@
11341
11341
  "typeIdentifier": "t_address",
11342
11342
  "typeString": "address"
11343
11343
  },
11344
- "id": 38631,
11344
+ "id": 38638,
11345
11345
  "isConstant": false,
11346
11346
  "isLValue": false,
11347
11347
  "isPure": false,
11348
11348
  "lValueRequested": false,
11349
11349
  "leftExpression": {
11350
11350
  "expression": {
11351
- "id": 38628,
11351
+ "id": 38635,
11352
11352
  "name": "msg",
11353
11353
  "nodeType": "Identifier",
11354
11354
  "overloadedDeclarations": [],
@@ -11359,7 +11359,7 @@
11359
11359
  "typeString": "msg"
11360
11360
  }
11361
11361
  },
11362
- "id": 38629,
11362
+ "id": 38636,
11363
11363
  "isConstant": false,
11364
11364
  "isLValue": false,
11365
11365
  "isPure": false,
@@ -11376,11 +11376,11 @@
11376
11376
  "nodeType": "BinaryOperation",
11377
11377
  "operator": "==",
11378
11378
  "rightExpression": {
11379
- "id": 38630,
11379
+ "id": 38637,
11380
11380
  "name": "account",
11381
11381
  "nodeType": "Identifier",
11382
11382
  "overloadedDeclarations": [],
11383
- "referencedDeclaration": 38622,
11383
+ "referencedDeclaration": 38629,
11384
11384
  "src": "1879:7:99",
11385
11385
  "typeDescriptions": {
11386
11386
  "typeIdentifier": "t_address",
@@ -11402,7 +11402,7 @@
11402
11402
  "typeIdentifier": "t_bool",
11403
11403
  "typeString": "bool"
11404
11404
  },
11405
- "id": 38641,
11405
+ "id": 38648,
11406
11406
  "isConstant": false,
11407
11407
  "isLValue": false,
11408
11408
  "isPure": false,
@@ -11410,11 +11410,11 @@
11410
11410
  "leftExpression": {
11411
11411
  "arguments": [
11412
11412
  {
11413
- "id": 38633,
11413
+ "id": 38640,
11414
11414
  "name": "BACKEND_ROLE",
11415
11415
  "nodeType": "Identifier",
11416
11416
  "overloadedDeclarations": [],
11417
- "referencedDeclaration": 38549,
11417
+ "referencedDeclaration": 38556,
11418
11418
  "src": "1911:12:99",
11419
11419
  "typeDescriptions": {
11420
11420
  "typeIdentifier": "t_bytes32",
@@ -11423,7 +11423,7 @@
11423
11423
  },
11424
11424
  {
11425
11425
  "expression": {
11426
- "id": 38634,
11426
+ "id": 38641,
11427
11427
  "name": "msg",
11428
11428
  "nodeType": "Identifier",
11429
11429
  "overloadedDeclarations": [],
@@ -11434,7 +11434,7 @@
11434
11434
  "typeString": "msg"
11435
11435
  }
11436
11436
  },
11437
- "id": 38635,
11437
+ "id": 38642,
11438
11438
  "isConstant": false,
11439
11439
  "isLValue": false,
11440
11440
  "isPure": false,
@@ -11460,7 +11460,7 @@
11460
11460
  "typeString": "address"
11461
11461
  }
11462
11462
  ],
11463
- "id": 38632,
11463
+ "id": 38639,
11464
11464
  "name": "hasRole",
11465
11465
  "nodeType": "Identifier",
11466
11466
  "overloadedDeclarations": [],
@@ -11471,7 +11471,7 @@
11471
11471
  "typeString": "function (bytes32,address) view returns (bool)"
11472
11472
  }
11473
11473
  },
11474
- "id": 38636,
11474
+ "id": 38643,
11475
11475
  "isConstant": false,
11476
11476
  "isLValue": false,
11477
11477
  "isPure": false,
@@ -11490,7 +11490,7 @@
11490
11490
  "nodeType": "BinaryOperation",
11491
11491
  "operator": "&&",
11492
11492
  "rightExpression": {
11493
- "id": 38640,
11493
+ "id": 38647,
11494
11494
  "isConstant": false,
11495
11495
  "isLValue": false,
11496
11496
  "isPure": false,
@@ -11501,24 +11501,24 @@
11501
11501
  "src": "1952:17:99",
11502
11502
  "subExpression": {
11503
11503
  "baseExpression": {
11504
- "id": 38637,
11504
+ "id": 38644,
11505
11505
  "name": "_optout",
11506
11506
  "nodeType": "Identifier",
11507
11507
  "overloadedDeclarations": [],
11508
- "referencedDeclaration": 38561,
11508
+ "referencedDeclaration": 38568,
11509
11509
  "src": "1953:7:99",
11510
11510
  "typeDescriptions": {
11511
11511
  "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
11512
11512
  "typeString": "mapping(address => bool)"
11513
11513
  }
11514
11514
  },
11515
- "id": 38639,
11515
+ "id": 38646,
11516
11516
  "indexExpression": {
11517
- "id": 38638,
11517
+ "id": 38645,
11518
11518
  "name": "account",
11519
11519
  "nodeType": "Identifier",
11520
11520
  "overloadedDeclarations": [],
11521
- "referencedDeclaration": 38622,
11521
+ "referencedDeclaration": 38629,
11522
11522
  "src": "1961:7:99",
11523
11523
  "typeDescriptions": {
11524
11524
  "typeIdentifier": "t_address",
@@ -11548,7 +11548,7 @@
11548
11548
  }
11549
11549
  }
11550
11550
  ],
11551
- "id": 38642,
11551
+ "id": 38649,
11552
11552
  "isConstant": false,
11553
11553
  "isInlineArray": false,
11554
11554
  "isLValue": false,
@@ -11569,7 +11569,7 @@
11569
11569
  },
11570
11570
  {
11571
11571
  "hexValue": "6f7065726174696f6e206e6f7420616c6c6f776564",
11572
- "id": 38644,
11572
+ "id": 38651,
11573
11573
  "isConstant": false,
11574
11574
  "isLValue": false,
11575
11575
  "isPure": true,
@@ -11595,7 +11595,7 @@
11595
11595
  "typeString": "literal_string \"operation not allowed\""
11596
11596
  }
11597
11597
  ],
11598
- "id": 38627,
11598
+ "id": 38634,
11599
11599
  "name": "require",
11600
11600
  "nodeType": "Identifier",
11601
11601
  "overloadedDeclarations": [
@@ -11609,7 +11609,7 @@
11609
11609
  "typeString": "function (bool,string memory) pure"
11610
11610
  }
11611
11611
  },
11612
- "id": 38645,
11612
+ "id": 38652,
11613
11613
  "isConstant": false,
11614
11614
  "isLValue": false,
11615
11615
  "isPure": false,
@@ -11625,62 +11625,62 @@
11625
11625
  "typeString": "tuple()"
11626
11626
  }
11627
11627
  },
11628
- "id": 38646,
11628
+ "id": 38653,
11629
11629
  "nodeType": "ExpressionStatement",
11630
11630
  "src": "1857:148:99"
11631
11631
  },
11632
11632
  {
11633
11633
  "assignments": [
11634
- 38649
11634
+ 38656
11635
11635
  ],
11636
11636
  "declarations": [
11637
11637
  {
11638
11638
  "constant": false,
11639
- "id": 38649,
11639
+ "id": 38656,
11640
11640
  "mutability": "mutable",
11641
11641
  "name": "superToken",
11642
11642
  "nameLocation": "2059:10:99",
11643
11643
  "nodeType": "VariableDeclaration",
11644
- "scope": 38723,
11644
+ "scope": 38730,
11645
11645
  "src": "2047:22:99",
11646
11646
  "stateVariable": false,
11647
11647
  "storageLocation": "default",
11648
11648
  "typeDescriptions": {
11649
- "typeIdentifier": "t_contract$_ISuperToken_$19933",
11649
+ "typeIdentifier": "t_contract$_ISuperToken_$19940",
11650
11650
  "typeString": "contract ISuperToken"
11651
11651
  },
11652
11652
  "typeName": {
11653
- "id": 38648,
11653
+ "id": 38655,
11654
11654
  "nodeType": "UserDefinedTypeName",
11655
11655
  "pathNode": {
11656
- "id": 38647,
11656
+ "id": 38654,
11657
11657
  "name": "ISuperToken",
11658
11658
  "nameLocations": [
11659
11659
  "2047:11:99"
11660
11660
  ],
11661
11661
  "nodeType": "IdentifierPath",
11662
- "referencedDeclaration": 19933,
11662
+ "referencedDeclaration": 19940,
11663
11663
  "src": "2047:11:99"
11664
11664
  },
11665
- "referencedDeclaration": 19933,
11665
+ "referencedDeclaration": 19940,
11666
11666
  "src": "2047:11:99",
11667
11667
  "typeDescriptions": {
11668
- "typeIdentifier": "t_contract$_ISuperToken_$19933",
11668
+ "typeIdentifier": "t_contract$_ISuperToken_$19940",
11669
11669
  "typeString": "contract ISuperToken"
11670
11670
  }
11671
11671
  },
11672
11672
  "visibility": "internal"
11673
11673
  }
11674
11674
  ],
11675
- "id": 38653,
11675
+ "id": 38660,
11676
11676
  "initialValue": {
11677
11677
  "arguments": [
11678
11678
  {
11679
- "id": 38651,
11679
+ "id": 38658,
11680
11680
  "name": "superTokenAddr",
11681
11681
  "nodeType": "Identifier",
11682
11682
  "overloadedDeclarations": [],
11683
- "referencedDeclaration": 38620,
11683
+ "referencedDeclaration": 38627,
11684
11684
  "src": "2084:14:99",
11685
11685
  "typeDescriptions": {
11686
11686
  "typeIdentifier": "t_address",
@@ -11695,18 +11695,18 @@
11695
11695
  "typeString": "address"
11696
11696
  }
11697
11697
  ],
11698
- "id": 38650,
11698
+ "id": 38657,
11699
11699
  "name": "ISuperToken",
11700
11700
  "nodeType": "Identifier",
11701
11701
  "overloadedDeclarations": [],
11702
- "referencedDeclaration": 19933,
11702
+ "referencedDeclaration": 19940,
11703
11703
  "src": "2072:11:99",
11704
11704
  "typeDescriptions": {
11705
- "typeIdentifier": "t_type$_t_contract$_ISuperToken_$19933_$",
11705
+ "typeIdentifier": "t_type$_t_contract$_ISuperToken_$19940_$",
11706
11706
  "typeString": "type(contract ISuperToken)"
11707
11707
  }
11708
11708
  },
11709
- "id": 38652,
11709
+ "id": 38659,
11710
11710
  "isConstant": false,
11711
11711
  "isLValue": false,
11712
11712
  "isPure": false,
@@ -11718,7 +11718,7 @@
11718
11718
  "src": "2072:27:99",
11719
11719
  "tryCall": false,
11720
11720
  "typeDescriptions": {
11721
- "typeIdentifier": "t_contract$_ISuperToken_$19933",
11721
+ "typeIdentifier": "t_contract$_ISuperToken_$19940",
11722
11722
  "typeString": "contract ISuperToken"
11723
11723
  }
11724
11724
  },
@@ -11727,17 +11727,17 @@
11727
11727
  },
11728
11728
  {
11729
11729
  "assignments": [
11730
- 38656
11730
+ 38663
11731
11731
  ],
11732
11732
  "declarations": [
11733
11733
  {
11734
11734
  "constant": false,
11735
- "id": 38656,
11735
+ "id": 38663,
11736
11736
  "mutability": "mutable",
11737
11737
  "name": "token",
11738
11738
  "nameLocation": "2148:5:99",
11739
11739
  "nodeType": "VariableDeclaration",
11740
- "scope": 38723,
11740
+ "scope": 38730,
11741
11741
  "src": "2141:12:99",
11742
11742
  "stateVariable": false,
11743
11743
  "storageLocation": "default",
@@ -11746,10 +11746,10 @@
11746
11746
  "typeString": "contract IERC20"
11747
11747
  },
11748
11748
  "typeName": {
11749
- "id": 38655,
11749
+ "id": 38662,
11750
11750
  "nodeType": "UserDefinedTypeName",
11751
11751
  "pathNode": {
11752
- "id": 38654,
11752
+ "id": 38661,
11753
11753
  "name": "IERC20",
11754
11754
  "nameLocations": [
11755
11755
  "2141:6:99"
@@ -11768,7 +11768,7 @@
11768
11768
  "visibility": "internal"
11769
11769
  }
11770
11770
  ],
11771
- "id": 38662,
11771
+ "id": 38669,
11772
11772
  "initialValue": {
11773
11773
  "arguments": [
11774
11774
  {
@@ -11776,18 +11776,18 @@
11776
11776
  "expression": {
11777
11777
  "argumentTypes": [],
11778
11778
  "expression": {
11779
- "id": 38658,
11779
+ "id": 38665,
11780
11780
  "name": "superToken",
11781
11781
  "nodeType": "Identifier",
11782
11782
  "overloadedDeclarations": [],
11783
- "referencedDeclaration": 38649,
11783
+ "referencedDeclaration": 38656,
11784
11784
  "src": "2163:10:99",
11785
11785
  "typeDescriptions": {
11786
- "typeIdentifier": "t_contract$_ISuperToken_$19933",
11786
+ "typeIdentifier": "t_contract$_ISuperToken_$19940",
11787
11787
  "typeString": "contract ISuperToken"
11788
11788
  }
11789
11789
  },
11790
- "id": 38659,
11790
+ "id": 38666,
11791
11791
  "isConstant": false,
11792
11792
  "isLValue": false,
11793
11793
  "isPure": false,
@@ -11795,14 +11795,14 @@
11795
11795
  "memberLocation": "2174:18:99",
11796
11796
  "memberName": "getUnderlyingToken",
11797
11797
  "nodeType": "MemberAccess",
11798
- "referencedDeclaration": 19858,
11798
+ "referencedDeclaration": 19865,
11799
11799
  "src": "2163:29:99",
11800
11800
  "typeDescriptions": {
11801
11801
  "typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
11802
11802
  "typeString": "function () view external returns (address)"
11803
11803
  }
11804
11804
  },
11805
- "id": 38660,
11805
+ "id": 38667,
11806
11806
  "isConstant": false,
11807
11807
  "isLValue": false,
11808
11808
  "isPure": false,
@@ -11826,7 +11826,7 @@
11826
11826
  "typeString": "address"
11827
11827
  }
11828
11828
  ],
11829
- "id": 38657,
11829
+ "id": 38664,
11830
11830
  "name": "IERC20",
11831
11831
  "nodeType": "Identifier",
11832
11832
  "overloadedDeclarations": [],
@@ -11837,7 +11837,7 @@
11837
11837
  "typeString": "type(contract IERC20)"
11838
11838
  }
11839
11839
  },
11840
- "id": 38661,
11840
+ "id": 38668,
11841
11841
  "isConstant": false,
11842
11842
  "isLValue": false,
11843
11843
  "isPure": false,
@@ -11858,17 +11858,17 @@
11858
11858
  },
11859
11859
  {
11860
11860
  "assignments": [
11861
- 38664
11861
+ 38671
11862
11862
  ],
11863
11863
  "declarations": [
11864
11864
  {
11865
11865
  "constant": false,
11866
- "id": 38664,
11866
+ "id": 38671,
11867
11867
  "mutability": "mutable",
11868
11868
  "name": "beforeBalance",
11869
11869
  "nameLocation": "2213:13:99",
11870
11870
  "nodeType": "VariableDeclaration",
11871
- "scope": 38723,
11871
+ "scope": 38730,
11872
11872
  "src": "2205:21:99",
11873
11873
  "stateVariable": false,
11874
11874
  "storageLocation": "default",
@@ -11877,7 +11877,7 @@
11877
11877
  "typeString": "uint256"
11878
11878
  },
11879
11879
  "typeName": {
11880
- "id": 38663,
11880
+ "id": 38670,
11881
11881
  "name": "uint256",
11882
11882
  "nodeType": "ElementaryTypeName",
11883
11883
  "src": "2205:7:99",
@@ -11889,20 +11889,20 @@
11889
11889
  "visibility": "internal"
11890
11890
  }
11891
11891
  ],
11892
- "id": 38672,
11892
+ "id": 38679,
11893
11893
  "initialValue": {
11894
11894
  "arguments": [
11895
11895
  {
11896
11896
  "arguments": [
11897
11897
  {
11898
- "id": 38669,
11898
+ "id": 38676,
11899
11899
  "name": "this",
11900
11900
  "nodeType": "Identifier",
11901
11901
  "overloadedDeclarations": [],
11902
11902
  "referencedDeclaration": 4294967268,
11903
11903
  "src": "2253:4:99",
11904
11904
  "typeDescriptions": {
11905
- "typeIdentifier": "t_contract$_SuperUpgrader_$38854",
11905
+ "typeIdentifier": "t_contract$_SuperUpgrader_$38861",
11906
11906
  "typeString": "contract SuperUpgrader"
11907
11907
  }
11908
11908
  }
@@ -11910,11 +11910,11 @@
11910
11910
  "expression": {
11911
11911
  "argumentTypes": [
11912
11912
  {
11913
- "typeIdentifier": "t_contract$_SuperUpgrader_$38854",
11913
+ "typeIdentifier": "t_contract$_SuperUpgrader_$38861",
11914
11914
  "typeString": "contract SuperUpgrader"
11915
11915
  }
11916
11916
  ],
11917
- "id": 38668,
11917
+ "id": 38675,
11918
11918
  "isConstant": false,
11919
11919
  "isLValue": false,
11920
11920
  "isPure": true,
@@ -11926,14 +11926,14 @@
11926
11926
  "typeString": "type(address)"
11927
11927
  },
11928
11928
  "typeName": {
11929
- "id": 38667,
11929
+ "id": 38674,
11930
11930
  "name": "address",
11931
11931
  "nodeType": "ElementaryTypeName",
11932
11932
  "src": "2245:7:99",
11933
11933
  "typeDescriptions": {}
11934
11934
  }
11935
11935
  },
11936
- "id": 38670,
11936
+ "id": 38677,
11937
11937
  "isConstant": false,
11938
11938
  "isLValue": false,
11939
11939
  "isPure": false,
@@ -11958,18 +11958,18 @@
11958
11958
  }
11959
11959
  ],
11960
11960
  "expression": {
11961
- "id": 38665,
11961
+ "id": 38672,
11962
11962
  "name": "token",
11963
11963
  "nodeType": "Identifier",
11964
11964
  "overloadedDeclarations": [],
11965
- "referencedDeclaration": 38656,
11965
+ "referencedDeclaration": 38663,
11966
11966
  "src": "2229:5:99",
11967
11967
  "typeDescriptions": {
11968
11968
  "typeIdentifier": "t_contract$_IERC20_$1630",
11969
11969
  "typeString": "contract IERC20"
11970
11970
  }
11971
11971
  },
11972
- "id": 38666,
11972
+ "id": 38673,
11973
11973
  "isConstant": false,
11974
11974
  "isLValue": false,
11975
11975
  "isPure": false,
@@ -11984,7 +11984,7 @@
11984
11984
  "typeString": "function (address) view external returns (uint256)"
11985
11985
  }
11986
11986
  },
11987
- "id": 38671,
11987
+ "id": 38678,
11988
11988
  "isConstant": false,
11989
11989
  "isLValue": false,
11990
11990
  "isPure": false,
@@ -12007,11 +12007,11 @@
12007
12007
  "expression": {
12008
12008
  "arguments": [
12009
12009
  {
12010
- "id": 38676,
12010
+ "id": 38683,
12011
12011
  "name": "account",
12012
12012
  "nodeType": "Identifier",
12013
12013
  "overloadedDeclarations": [],
12014
- "referencedDeclaration": 38622,
12014
+ "referencedDeclaration": 38629,
12015
12015
  "src": "2292:7:99",
12016
12016
  "typeDescriptions": {
12017
12017
  "typeIdentifier": "t_address",
@@ -12021,14 +12021,14 @@
12021
12021
  {
12022
12022
  "arguments": [
12023
12023
  {
12024
- "id": 38679,
12024
+ "id": 38686,
12025
12025
  "name": "this",
12026
12026
  "nodeType": "Identifier",
12027
12027
  "overloadedDeclarations": [],
12028
12028
  "referencedDeclaration": 4294967268,
12029
12029
  "src": "2309:4:99",
12030
12030
  "typeDescriptions": {
12031
- "typeIdentifier": "t_contract$_SuperUpgrader_$38854",
12031
+ "typeIdentifier": "t_contract$_SuperUpgrader_$38861",
12032
12032
  "typeString": "contract SuperUpgrader"
12033
12033
  }
12034
12034
  }
@@ -12036,11 +12036,11 @@
12036
12036
  "expression": {
12037
12037
  "argumentTypes": [
12038
12038
  {
12039
- "typeIdentifier": "t_contract$_SuperUpgrader_$38854",
12039
+ "typeIdentifier": "t_contract$_SuperUpgrader_$38861",
12040
12040
  "typeString": "contract SuperUpgrader"
12041
12041
  }
12042
12042
  ],
12043
- "id": 38678,
12043
+ "id": 38685,
12044
12044
  "isConstant": false,
12045
12045
  "isLValue": false,
12046
12046
  "isPure": true,
@@ -12052,14 +12052,14 @@
12052
12052
  "typeString": "type(address)"
12053
12053
  },
12054
12054
  "typeName": {
12055
- "id": 38677,
12055
+ "id": 38684,
12056
12056
  "name": "address",
12057
12057
  "nodeType": "ElementaryTypeName",
12058
12058
  "src": "2301:7:99",
12059
12059
  "typeDescriptions": {}
12060
12060
  }
12061
12061
  },
12062
- "id": 38680,
12062
+ "id": 38687,
12063
12063
  "isConstant": false,
12064
12064
  "isLValue": false,
12065
12065
  "isPure": false,
@@ -12076,11 +12076,11 @@
12076
12076
  }
12077
12077
  },
12078
12078
  {
12079
- "id": 38681,
12079
+ "id": 38688,
12080
12080
  "name": "amount",
12081
12081
  "nodeType": "Identifier",
12082
12082
  "overloadedDeclarations": [],
12083
- "referencedDeclaration": 38624,
12083
+ "referencedDeclaration": 38631,
12084
12084
  "src": "2316:6:99",
12085
12085
  "typeDescriptions": {
12086
12086
  "typeIdentifier": "t_uint256",
@@ -12104,18 +12104,18 @@
12104
12104
  }
12105
12105
  ],
12106
12106
  "expression": {
12107
- "id": 38673,
12107
+ "id": 38680,
12108
12108
  "name": "token",
12109
12109
  "nodeType": "Identifier",
12110
12110
  "overloadedDeclarations": [],
12111
- "referencedDeclaration": 38656,
12111
+ "referencedDeclaration": 38663,
12112
12112
  "src": "2269:5:99",
12113
12113
  "typeDescriptions": {
12114
12114
  "typeIdentifier": "t_contract$_IERC20_$1630",
12115
12115
  "typeString": "contract IERC20"
12116
12116
  }
12117
12117
  },
12118
- "id": 38675,
12118
+ "id": 38682,
12119
12119
  "isConstant": false,
12120
12120
  "isLValue": false,
12121
12121
  "isPure": false,
@@ -12130,7 +12130,7 @@
12130
12130
  "typeString": "function (contract IERC20,address,address,uint256)"
12131
12131
  }
12132
12132
  },
12133
- "id": 38682,
12133
+ "id": 38689,
12134
12134
  "isConstant": false,
12135
12135
  "isLValue": false,
12136
12136
  "isPure": false,
@@ -12146,7 +12146,7 @@
12146
12146
  "typeString": "tuple()"
12147
12147
  }
12148
12148
  },
12149
- "id": 38683,
12149
+ "id": 38690,
12150
12150
  "nodeType": "ExpressionStatement",
12151
12151
  "src": "2269:54:99"
12152
12152
  },
@@ -12156,14 +12156,14 @@
12156
12156
  {
12157
12157
  "arguments": [
12158
12158
  {
12159
- "id": 38689,
12159
+ "id": 38696,
12160
12160
  "name": "superToken",
12161
12161
  "nodeType": "Identifier",
12162
12162
  "overloadedDeclarations": [],
12163
- "referencedDeclaration": 38649,
12163
+ "referencedDeclaration": 38656,
12164
12164
  "src": "2359:10:99",
12165
12165
  "typeDescriptions": {
12166
- "typeIdentifier": "t_contract$_ISuperToken_$19933",
12166
+ "typeIdentifier": "t_contract$_ISuperToken_$19940",
12167
12167
  "typeString": "contract ISuperToken"
12168
12168
  }
12169
12169
  }
@@ -12171,11 +12171,11 @@
12171
12171
  "expression": {
12172
12172
  "argumentTypes": [
12173
12173
  {
12174
- "typeIdentifier": "t_contract$_ISuperToken_$19933",
12174
+ "typeIdentifier": "t_contract$_ISuperToken_$19940",
12175
12175
  "typeString": "contract ISuperToken"
12176
12176
  }
12177
12177
  ],
12178
- "id": 38688,
12178
+ "id": 38695,
12179
12179
  "isConstant": false,
12180
12180
  "isLValue": false,
12181
12181
  "isPure": true,
@@ -12187,14 +12187,14 @@
12187
12187
  "typeString": "type(address)"
12188
12188
  },
12189
12189
  "typeName": {
12190
- "id": 38687,
12190
+ "id": 38694,
12191
12191
  "name": "address",
12192
12192
  "nodeType": "ElementaryTypeName",
12193
12193
  "src": "2351:7:99",
12194
12194
  "typeDescriptions": {}
12195
12195
  }
12196
12196
  },
12197
- "id": 38690,
12197
+ "id": 38697,
12198
12198
  "isConstant": false,
12199
12199
  "isLValue": false,
12200
12200
  "isPure": false,
@@ -12212,7 +12212,7 @@
12212
12212
  },
12213
12213
  {
12214
12214
  "hexValue": "30",
12215
- "id": 38691,
12215
+ "id": 38698,
12216
12216
  "isConstant": false,
12217
12217
  "isLValue": false,
12218
12218
  "isPure": true,
@@ -12239,18 +12239,18 @@
12239
12239
  }
12240
12240
  ],
12241
12241
  "expression": {
12242
- "id": 38684,
12242
+ "id": 38691,
12243
12243
  "name": "token",
12244
12244
  "nodeType": "Identifier",
12245
12245
  "overloadedDeclarations": [],
12246
- "referencedDeclaration": 38656,
12246
+ "referencedDeclaration": 38663,
12247
12247
  "src": "2333:5:99",
12248
12248
  "typeDescriptions": {
12249
12249
  "typeIdentifier": "t_contract$_IERC20_$1630",
12250
12250
  "typeString": "contract IERC20"
12251
12251
  }
12252
12252
  },
12253
- "id": 38686,
12253
+ "id": 38693,
12254
12254
  "isConstant": false,
12255
12255
  "isLValue": false,
12256
12256
  "isPure": false,
@@ -12265,7 +12265,7 @@
12265
12265
  "typeString": "function (contract IERC20,address,uint256)"
12266
12266
  }
12267
12267
  },
12268
- "id": 38692,
12268
+ "id": 38699,
12269
12269
  "isConstant": false,
12270
12270
  "isLValue": false,
12271
12271
  "isPure": false,
@@ -12281,7 +12281,7 @@
12281
12281
  "typeString": "tuple()"
12282
12282
  }
12283
12283
  },
12284
- "id": 38693,
12284
+ "id": 38700,
12285
12285
  "nodeType": "ExpressionStatement",
12286
12286
  "src": "2333:41:99"
12287
12287
  },
@@ -12291,14 +12291,14 @@
12291
12291
  {
12292
12292
  "arguments": [
12293
12293
  {
12294
- "id": 38699,
12294
+ "id": 38706,
12295
12295
  "name": "superToken",
12296
12296
  "nodeType": "Identifier",
12297
12297
  "overloadedDeclarations": [],
12298
- "referencedDeclaration": 38649,
12298
+ "referencedDeclaration": 38656,
12299
12299
  "src": "2410:10:99",
12300
12300
  "typeDescriptions": {
12301
- "typeIdentifier": "t_contract$_ISuperToken_$19933",
12301
+ "typeIdentifier": "t_contract$_ISuperToken_$19940",
12302
12302
  "typeString": "contract ISuperToken"
12303
12303
  }
12304
12304
  }
@@ -12306,11 +12306,11 @@
12306
12306
  "expression": {
12307
12307
  "argumentTypes": [
12308
12308
  {
12309
- "typeIdentifier": "t_contract$_ISuperToken_$19933",
12309
+ "typeIdentifier": "t_contract$_ISuperToken_$19940",
12310
12310
  "typeString": "contract ISuperToken"
12311
12311
  }
12312
12312
  ],
12313
- "id": 38698,
12313
+ "id": 38705,
12314
12314
  "isConstant": false,
12315
12315
  "isLValue": false,
12316
12316
  "isPure": true,
@@ -12322,14 +12322,14 @@
12322
12322
  "typeString": "type(address)"
12323
12323
  },
12324
12324
  "typeName": {
12325
- "id": 38697,
12325
+ "id": 38704,
12326
12326
  "name": "address",
12327
12327
  "nodeType": "ElementaryTypeName",
12328
12328
  "src": "2402:7:99",
12329
12329
  "typeDescriptions": {}
12330
12330
  }
12331
12331
  },
12332
- "id": 38700,
12332
+ "id": 38707,
12333
12333
  "isConstant": false,
12334
12334
  "isLValue": false,
12335
12335
  "isPure": false,
@@ -12346,11 +12346,11 @@
12346
12346
  }
12347
12347
  },
12348
12348
  {
12349
- "id": 38701,
12349
+ "id": 38708,
12350
12350
  "name": "amount",
12351
12351
  "nodeType": "Identifier",
12352
12352
  "overloadedDeclarations": [],
12353
- "referencedDeclaration": 38624,
12353
+ "referencedDeclaration": 38631,
12354
12354
  "src": "2423:6:99",
12355
12355
  "typeDescriptions": {
12356
12356
  "typeIdentifier": "t_uint256",
@@ -12370,18 +12370,18 @@
12370
12370
  }
12371
12371
  ],
12372
12372
  "expression": {
12373
- "id": 38694,
12373
+ "id": 38701,
12374
12374
  "name": "token",
12375
12375
  "nodeType": "Identifier",
12376
12376
  "overloadedDeclarations": [],
12377
- "referencedDeclaration": 38656,
12377
+ "referencedDeclaration": 38663,
12378
12378
  "src": "2384:5:99",
12379
12379
  "typeDescriptions": {
12380
12380
  "typeIdentifier": "t_contract$_IERC20_$1630",
12381
12381
  "typeString": "contract IERC20"
12382
12382
  }
12383
12383
  },
12384
- "id": 38696,
12384
+ "id": 38703,
12385
12385
  "isConstant": false,
12386
12386
  "isLValue": false,
12387
12387
  "isPure": false,
@@ -12396,7 +12396,7 @@
12396
12396
  "typeString": "function (contract IERC20,address,uint256)"
12397
12397
  }
12398
12398
  },
12399
- "id": 38702,
12399
+ "id": 38709,
12400
12400
  "isConstant": false,
12401
12401
  "isLValue": false,
12402
12402
  "isPure": false,
@@ -12412,7 +12412,7 @@
12412
12412
  "typeString": "tuple()"
12413
12413
  }
12414
12414
  },
12415
- "id": 38703,
12415
+ "id": 38710,
12416
12416
  "nodeType": "ExpressionStatement",
12417
12417
  "src": "2384:46:99"
12418
12418
  },
@@ -12420,11 +12420,11 @@
12420
12420
  "expression": {
12421
12421
  "arguments": [
12422
12422
  {
12423
- "id": 38707,
12423
+ "id": 38714,
12424
12424
  "name": "account",
12425
12425
  "nodeType": "Identifier",
12426
12426
  "overloadedDeclarations": [],
12427
- "referencedDeclaration": 38622,
12427
+ "referencedDeclaration": 38629,
12428
12428
  "src": "2522:7:99",
12429
12429
  "typeDescriptions": {
12430
12430
  "typeIdentifier": "t_address",
@@ -12436,7 +12436,7 @@
12436
12436
  "typeIdentifier": "t_uint256",
12437
12437
  "typeString": "uint256"
12438
12438
  },
12439
- "id": 38716,
12439
+ "id": 38723,
12440
12440
  "isConstant": false,
12441
12441
  "isLValue": false,
12442
12442
  "isPure": false,
@@ -12446,14 +12446,14 @@
12446
12446
  {
12447
12447
  "arguments": [
12448
12448
  {
12449
- "id": 38712,
12449
+ "id": 38719,
12450
12450
  "name": "this",
12451
12451
  "nodeType": "Identifier",
12452
12452
  "overloadedDeclarations": [],
12453
12453
  "referencedDeclaration": 4294967268,
12454
12454
  "src": "2567:4:99",
12455
12455
  "typeDescriptions": {
12456
- "typeIdentifier": "t_contract$_SuperUpgrader_$38854",
12456
+ "typeIdentifier": "t_contract$_SuperUpgrader_$38861",
12457
12457
  "typeString": "contract SuperUpgrader"
12458
12458
  }
12459
12459
  }
@@ -12461,11 +12461,11 @@
12461
12461
  "expression": {
12462
12462
  "argumentTypes": [
12463
12463
  {
12464
- "typeIdentifier": "t_contract$_SuperUpgrader_$38854",
12464
+ "typeIdentifier": "t_contract$_SuperUpgrader_$38861",
12465
12465
  "typeString": "contract SuperUpgrader"
12466
12466
  }
12467
12467
  ],
12468
- "id": 38711,
12468
+ "id": 38718,
12469
12469
  "isConstant": false,
12470
12470
  "isLValue": false,
12471
12471
  "isPure": true,
@@ -12477,14 +12477,14 @@
12477
12477
  "typeString": "type(address)"
12478
12478
  },
12479
12479
  "typeName": {
12480
- "id": 38710,
12480
+ "id": 38717,
12481
12481
  "name": "address",
12482
12482
  "nodeType": "ElementaryTypeName",
12483
12483
  "src": "2559:7:99",
12484
12484
  "typeDescriptions": {}
12485
12485
  }
12486
12486
  },
12487
- "id": 38713,
12487
+ "id": 38720,
12488
12488
  "isConstant": false,
12489
12489
  "isLValue": false,
12490
12490
  "isPure": false,
@@ -12509,18 +12509,18 @@
12509
12509
  }
12510
12510
  ],
12511
12511
  "expression": {
12512
- "id": 38708,
12512
+ "id": 38715,
12513
12513
  "name": "token",
12514
12514
  "nodeType": "Identifier",
12515
12515
  "overloadedDeclarations": [],
12516
- "referencedDeclaration": 38656,
12516
+ "referencedDeclaration": 38663,
12517
12517
  "src": "2543:5:99",
12518
12518
  "typeDescriptions": {
12519
12519
  "typeIdentifier": "t_contract$_IERC20_$1630",
12520
12520
  "typeString": "contract IERC20"
12521
12521
  }
12522
12522
  },
12523
- "id": 38709,
12523
+ "id": 38716,
12524
12524
  "isConstant": false,
12525
12525
  "isLValue": false,
12526
12526
  "isPure": false,
@@ -12535,7 +12535,7 @@
12535
12535
  "typeString": "function (address) view external returns (uint256)"
12536
12536
  }
12537
12537
  },
12538
- "id": 38714,
12538
+ "id": 38721,
12539
12539
  "isConstant": false,
12540
12540
  "isLValue": false,
12541
12541
  "isPure": false,
@@ -12554,11 +12554,11 @@
12554
12554
  "nodeType": "BinaryOperation",
12555
12555
  "operator": "-",
12556
12556
  "rightExpression": {
12557
- "id": 38715,
12557
+ "id": 38722,
12558
12558
  "name": "beforeBalance",
12559
12559
  "nodeType": "Identifier",
12560
12560
  "overloadedDeclarations": [],
12561
- "referencedDeclaration": 38664,
12561
+ "referencedDeclaration": 38671,
12562
12562
  "src": "2576:13:99",
12563
12563
  "typeDescriptions": {
12564
12564
  "typeIdentifier": "t_uint256",
@@ -12575,7 +12575,7 @@
12575
12575
  "arguments": [
12576
12576
  {
12577
12577
  "hexValue": "30",
12578
- "id": 38719,
12578
+ "id": 38726,
12579
12579
  "isConstant": false,
12580
12580
  "isLValue": false,
12581
12581
  "isPure": true,
@@ -12597,7 +12597,7 @@
12597
12597
  "typeString": "int_const 0"
12598
12598
  }
12599
12599
  ],
12600
- "id": 38718,
12600
+ "id": 38725,
12601
12601
  "isConstant": false,
12602
12602
  "isLValue": false,
12603
12603
  "isPure": true,
@@ -12609,7 +12609,7 @@
12609
12609
  "typeString": "function (uint256) pure returns (bytes memory)"
12610
12610
  },
12611
12611
  "typeName": {
12612
- "id": 38717,
12612
+ "id": 38724,
12613
12613
  "name": "bytes",
12614
12614
  "nodeType": "ElementaryTypeName",
12615
12615
  "src": "2595:5:99",
@@ -12619,7 +12619,7 @@
12619
12619
  }
12620
12620
  }
12621
12621
  },
12622
- "id": 38720,
12622
+ "id": 38727,
12623
12623
  "isConstant": false,
12624
12624
  "isLValue": false,
12625
12625
  "isPure": true,
@@ -12652,18 +12652,18 @@
12652
12652
  }
12653
12653
  ],
12654
12654
  "expression": {
12655
- "id": 38704,
12655
+ "id": 38711,
12656
12656
  "name": "superToken",
12657
12657
  "nodeType": "Identifier",
12658
12658
  "overloadedDeclarations": [],
12659
- "referencedDeclaration": 38649,
12659
+ "referencedDeclaration": 38656,
12660
12660
  "src": "2488:10:99",
12661
12661
  "typeDescriptions": {
12662
- "typeIdentifier": "t_contract$_ISuperToken_$19933",
12662
+ "typeIdentifier": "t_contract$_ISuperToken_$19940",
12663
12663
  "typeString": "contract ISuperToken"
12664
12664
  }
12665
12665
  },
12666
- "id": 38706,
12666
+ "id": 38713,
12667
12667
  "isConstant": false,
12668
12668
  "isLValue": false,
12669
12669
  "isPure": false,
@@ -12671,14 +12671,14 @@
12671
12671
  "memberLocation": "2499:9:99",
12672
12672
  "memberName": "upgradeTo",
12673
12673
  "nodeType": "MemberAccess",
12674
- "referencedDeclaration": 19874,
12674
+ "referencedDeclaration": 19881,
12675
12675
  "src": "2488:20:99",
12676
12676
  "typeDescriptions": {
12677
12677
  "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_bytes_memory_ptr_$returns$__$",
12678
12678
  "typeString": "function (address,uint256,bytes memory) external"
12679
12679
  }
12680
12680
  },
12681
- "id": 38721,
12681
+ "id": 38728,
12682
12682
  "isConstant": false,
12683
12683
  "isLValue": false,
12684
12684
  "isPure": false,
@@ -12694,20 +12694,20 @@
12694
12694
  "typeString": "tuple()"
12695
12695
  }
12696
12696
  },
12697
- "id": 38722,
12697
+ "id": 38729,
12698
12698
  "nodeType": "ExpressionStatement",
12699
12699
  "src": "2488:116:99"
12700
12700
  }
12701
12701
  ]
12702
12702
  },
12703
12703
  "documentation": {
12704
- "id": 38618,
12704
+ "id": 38625,
12705
12705
  "nodeType": "StructuredDocumentation",
12706
12706
  "src": "1406:315:99",
12707
12707
  "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."
12708
12708
  },
12709
12709
  "functionSelector": "2a197298",
12710
- "id": 38724,
12710
+ "id": 38731,
12711
12711
  "implemented": true,
12712
12712
  "kind": "function",
12713
12713
  "modifiers": [],
@@ -12715,17 +12715,17 @@
12715
12715
  "nameLocation": "1735:7:99",
12716
12716
  "nodeType": "FunctionDefinition",
12717
12717
  "parameters": {
12718
- "id": 38625,
12718
+ "id": 38632,
12719
12719
  "nodeType": "ParameterList",
12720
12720
  "parameters": [
12721
12721
  {
12722
12722
  "constant": false,
12723
- "id": 38620,
12723
+ "id": 38627,
12724
12724
  "mutability": "mutable",
12725
12725
  "name": "superTokenAddr",
12726
12726
  "nameLocation": "1760:14:99",
12727
12727
  "nodeType": "VariableDeclaration",
12728
- "scope": 38724,
12728
+ "scope": 38731,
12729
12729
  "src": "1752:22:99",
12730
12730
  "stateVariable": false,
12731
12731
  "storageLocation": "default",
@@ -12734,7 +12734,7 @@
12734
12734
  "typeString": "address"
12735
12735
  },
12736
12736
  "typeName": {
12737
- "id": 38619,
12737
+ "id": 38626,
12738
12738
  "name": "address",
12739
12739
  "nodeType": "ElementaryTypeName",
12740
12740
  "src": "1752:7:99",
@@ -12748,12 +12748,12 @@
12748
12748
  },
12749
12749
  {
12750
12750
  "constant": false,
12751
- "id": 38622,
12751
+ "id": 38629,
12752
12752
  "mutability": "mutable",
12753
12753
  "name": "account",
12754
12754
  "nameLocation": "1792:7:99",
12755
12755
  "nodeType": "VariableDeclaration",
12756
- "scope": 38724,
12756
+ "scope": 38731,
12757
12757
  "src": "1784:15:99",
12758
12758
  "stateVariable": false,
12759
12759
  "storageLocation": "default",
@@ -12762,7 +12762,7 @@
12762
12762
  "typeString": "address"
12763
12763
  },
12764
12764
  "typeName": {
12765
- "id": 38621,
12765
+ "id": 38628,
12766
12766
  "name": "address",
12767
12767
  "nodeType": "ElementaryTypeName",
12768
12768
  "src": "1784:7:99",
@@ -12776,12 +12776,12 @@
12776
12776
  },
12777
12777
  {
12778
12778
  "constant": false,
12779
- "id": 38624,
12779
+ "id": 38631,
12780
12780
  "mutability": "mutable",
12781
12781
  "name": "amount",
12782
12782
  "nameLocation": "1817:6:99",
12783
12783
  "nodeType": "VariableDeclaration",
12784
- "scope": 38724,
12784
+ "scope": 38731,
12785
12785
  "src": "1809:14:99",
12786
12786
  "stateVariable": false,
12787
12787
  "storageLocation": "default",
@@ -12790,7 +12790,7 @@
12790
12790
  "typeString": "uint256"
12791
12791
  },
12792
12792
  "typeName": {
12793
- "id": 38623,
12793
+ "id": 38630,
12794
12794
  "name": "uint256",
12795
12795
  "nodeType": "ElementaryTypeName",
12796
12796
  "src": "1809:7:99",
@@ -12805,12 +12805,12 @@
12805
12805
  "src": "1742:87:99"
12806
12806
  },
12807
12807
  "returnParameters": {
12808
- "id": 38626,
12808
+ "id": 38633,
12809
12809
  "nodeType": "ParameterList",
12810
12810
  "parameters": [],
12811
12811
  "src": "1847:0:99"
12812
12812
  },
12813
- "scope": 38854,
12813
+ "scope": 38861,
12814
12814
  "src": "1726:885:99",
12815
12815
  "stateMutability": "nonpayable",
12816
12816
  "virtual": false,
@@ -12818,7 +12818,7 @@
12818
12818
  },
12819
12819
  {
12820
12820
  "body": {
12821
- "id": 38737,
12821
+ "id": 38744,
12822
12822
  "nodeType": "Block",
12823
12823
  "src": "2757:54:99",
12824
12824
  "statements": [
@@ -12826,11 +12826,11 @@
12826
12826
  "expression": {
12827
12827
  "arguments": [
12828
12828
  {
12829
- "id": 38733,
12829
+ "id": 38740,
12830
12830
  "name": "BACKEND_ROLE",
12831
12831
  "nodeType": "Identifier",
12832
12832
  "overloadedDeclarations": [],
12833
- "referencedDeclaration": 38549,
12833
+ "referencedDeclaration": 38556,
12834
12834
  "src": "2782:12:99",
12835
12835
  "typeDescriptions": {
12836
12836
  "typeIdentifier": "t_bytes32",
@@ -12838,11 +12838,11 @@
12838
12838
  }
12839
12839
  },
12840
12840
  {
12841
- "id": 38734,
12841
+ "id": 38741,
12842
12842
  "name": "account",
12843
12843
  "nodeType": "Identifier",
12844
12844
  "overloadedDeclarations": [],
12845
- "referencedDeclaration": 38727,
12845
+ "referencedDeclaration": 38734,
12846
12846
  "src": "2796:7:99",
12847
12847
  "typeDescriptions": {
12848
12848
  "typeIdentifier": "t_address",
@@ -12861,7 +12861,7 @@
12861
12861
  "typeString": "address"
12862
12862
  }
12863
12863
  ],
12864
- "id": 38732,
12864
+ "id": 38739,
12865
12865
  "name": "hasRole",
12866
12866
  "nodeType": "Identifier",
12867
12867
  "overloadedDeclarations": [],
@@ -12872,7 +12872,7 @@
12872
12872
  "typeString": "function (bytes32,address) view returns (bool)"
12873
12873
  }
12874
12874
  },
12875
- "id": 38735,
12875
+ "id": 38742,
12876
12876
  "isConstant": false,
12877
12877
  "isLValue": false,
12878
12878
  "isPure": false,
@@ -12888,21 +12888,21 @@
12888
12888
  "typeString": "bool"
12889
12889
  }
12890
12890
  },
12891
- "functionReturnParameters": 38731,
12892
- "id": 38736,
12891
+ "functionReturnParameters": 38738,
12892
+ "id": 38743,
12893
12893
  "nodeType": "Return",
12894
12894
  "src": "2767:37:99"
12895
12895
  }
12896
12896
  ]
12897
12897
  },
12898
12898
  "documentation": {
12899
- "id": 38725,
12899
+ "id": 38732,
12900
12900
  "nodeType": "StructuredDocumentation",
12901
12901
  "src": "2617:62:99",
12902
12902
  "text": " @dev Test if account is member BACKEND_ROLE"
12903
12903
  },
12904
12904
  "functionSelector": "44e9d2fb",
12905
- "id": 38738,
12905
+ "id": 38745,
12906
12906
  "implemented": true,
12907
12907
  "kind": "function",
12908
12908
  "modifiers": [],
@@ -12910,17 +12910,17 @@
12910
12910
  "nameLocation": "2693:14:99",
12911
12911
  "nodeType": "FunctionDefinition",
12912
12912
  "parameters": {
12913
- "id": 38728,
12913
+ "id": 38735,
12914
12914
  "nodeType": "ParameterList",
12915
12915
  "parameters": [
12916
12916
  {
12917
12917
  "constant": false,
12918
- "id": 38727,
12918
+ "id": 38734,
12919
12919
  "mutability": "mutable",
12920
12920
  "name": "account",
12921
12921
  "nameLocation": "2716:7:99",
12922
12922
  "nodeType": "VariableDeclaration",
12923
- "scope": 38738,
12923
+ "scope": 38745,
12924
12924
  "src": "2708:15:99",
12925
12925
  "stateVariable": false,
12926
12926
  "storageLocation": "default",
@@ -12929,7 +12929,7 @@
12929
12929
  "typeString": "address"
12930
12930
  },
12931
12931
  "typeName": {
12932
- "id": 38726,
12932
+ "id": 38733,
12933
12933
  "name": "address",
12934
12934
  "nodeType": "ElementaryTypeName",
12935
12935
  "src": "2708:7:99",
@@ -12945,17 +12945,17 @@
12945
12945
  "src": "2707:17:99"
12946
12946
  },
12947
12947
  "returnParameters": {
12948
- "id": 38731,
12948
+ "id": 38738,
12949
12949
  "nodeType": "ParameterList",
12950
12950
  "parameters": [
12951
12951
  {
12952
12952
  "constant": false,
12953
- "id": 38730,
12953
+ "id": 38737,
12954
12954
  "mutability": "mutable",
12955
12955
  "name": "yes",
12956
12956
  "nameLocation": "2752:3:99",
12957
12957
  "nodeType": "VariableDeclaration",
12958
- "scope": 38738,
12958
+ "scope": 38745,
12959
12959
  "src": "2747:8:99",
12960
12960
  "stateVariable": false,
12961
12961
  "storageLocation": "default",
@@ -12964,7 +12964,7 @@
12964
12964
  "typeString": "bool"
12965
12965
  },
12966
12966
  "typeName": {
12967
- "id": 38729,
12967
+ "id": 38736,
12968
12968
  "name": "bool",
12969
12969
  "nodeType": "ElementaryTypeName",
12970
12970
  "src": "2747:4:99",
@@ -12978,7 +12978,7 @@
12978
12978
  ],
12979
12979
  "src": "2746:10:99"
12980
12980
  },
12981
- "scope": 38854,
12981
+ "scope": 38861,
12982
12982
  "src": "2684:127:99",
12983
12983
  "stateMutability": "view",
12984
12984
  "virtual": false,
@@ -12986,7 +12986,7 @@
12986
12986
  },
12987
12987
  {
12988
12988
  "body": {
12989
- "id": 38759,
12989
+ "id": 38766,
12990
12990
  "nodeType": "Block",
12991
12991
  "src": "2926:176:99",
12992
12992
  "statements": [
@@ -12998,17 +12998,17 @@
12998
12998
  "typeIdentifier": "t_address",
12999
12999
  "typeString": "address"
13000
13000
  },
13001
- "id": 38750,
13001
+ "id": 38757,
13002
13002
  "isConstant": false,
13003
13003
  "isLValue": false,
13004
13004
  "isPure": false,
13005
13005
  "lValueRequested": false,
13006
13006
  "leftExpression": {
13007
- "id": 38745,
13007
+ "id": 38752,
13008
13008
  "name": "account",
13009
13009
  "nodeType": "Identifier",
13010
13010
  "overloadedDeclarations": [],
13011
- "referencedDeclaration": 38741,
13011
+ "referencedDeclaration": 38748,
13012
13012
  "src": "2944:7:99",
13013
13013
  "typeDescriptions": {
13014
13014
  "typeIdentifier": "t_address",
@@ -13021,7 +13021,7 @@
13021
13021
  "arguments": [
13022
13022
  {
13023
13023
  "hexValue": "30",
13024
- "id": 38748,
13024
+ "id": 38755,
13025
13025
  "isConstant": false,
13026
13026
  "isLValue": false,
13027
13027
  "isPure": true,
@@ -13043,7 +13043,7 @@
13043
13043
  "typeString": "int_const 0"
13044
13044
  }
13045
13045
  ],
13046
- "id": 38747,
13046
+ "id": 38754,
13047
13047
  "isConstant": false,
13048
13048
  "isLValue": false,
13049
13049
  "isPure": true,
@@ -13055,14 +13055,14 @@
13055
13055
  "typeString": "type(address)"
13056
13056
  },
13057
13057
  "typeName": {
13058
- "id": 38746,
13058
+ "id": 38753,
13059
13059
  "name": "address",
13060
13060
  "nodeType": "ElementaryTypeName",
13061
13061
  "src": "2955:7:99",
13062
13062
  "typeDescriptions": {}
13063
13063
  }
13064
13064
  },
13065
- "id": 38749,
13065
+ "id": 38756,
13066
13066
  "isConstant": false,
13067
13067
  "isLValue": false,
13068
13068
  "isPure": true,
@@ -13086,7 +13086,7 @@
13086
13086
  },
13087
13087
  {
13088
13088
  "hexValue": "6f7065726174696f6e206e6f7420616c6c6f776564",
13089
- "id": 38751,
13089
+ "id": 38758,
13090
13090
  "isConstant": false,
13091
13091
  "isLValue": false,
13092
13092
  "isPure": true,
@@ -13112,7 +13112,7 @@
13112
13112
  "typeString": "literal_string \"operation not allowed\""
13113
13113
  }
13114
13114
  ],
13115
- "id": 38744,
13115
+ "id": 38751,
13116
13116
  "name": "require",
13117
13117
  "nodeType": "Identifier",
13118
13118
  "overloadedDeclarations": [
@@ -13126,7 +13126,7 @@
13126
13126
  "typeString": "function (bool,string memory) pure"
13127
13127
  }
13128
13128
  },
13129
- "id": 38752,
13129
+ "id": 38759,
13130
13130
  "isConstant": false,
13131
13131
  "isLValue": false,
13132
13132
  "isPure": false,
@@ -13142,7 +13142,7 @@
13142
13142
  "typeString": "tuple()"
13143
13143
  }
13144
13144
  },
13145
- "id": 38753,
13145
+ "id": 38760,
13146
13146
  "nodeType": "ExpressionStatement",
13147
13147
  "src": "2936:55:99"
13148
13148
  },
@@ -13150,11 +13150,11 @@
13150
13150
  "expression": {
13151
13151
  "arguments": [
13152
13152
  {
13153
- "id": 38755,
13153
+ "id": 38762,
13154
13154
  "name": "BACKEND_ROLE",
13155
13155
  "nodeType": "Identifier",
13156
13156
  "overloadedDeclarations": [],
13157
- "referencedDeclaration": 38549,
13157
+ "referencedDeclaration": 38556,
13158
13158
  "src": "3073:12:99",
13159
13159
  "typeDescriptions": {
13160
13160
  "typeIdentifier": "t_bytes32",
@@ -13162,11 +13162,11 @@
13162
13162
  }
13163
13163
  },
13164
13164
  {
13165
- "id": 38756,
13165
+ "id": 38763,
13166
13166
  "name": "account",
13167
13167
  "nodeType": "Identifier",
13168
13168
  "overloadedDeclarations": [],
13169
- "referencedDeclaration": 38741,
13169
+ "referencedDeclaration": 38748,
13170
13170
  "src": "3087:7:99",
13171
13171
  "typeDescriptions": {
13172
13172
  "typeIdentifier": "t_address",
@@ -13185,7 +13185,7 @@
13185
13185
  "typeString": "address"
13186
13186
  }
13187
13187
  ],
13188
- "id": 38754,
13188
+ "id": 38761,
13189
13189
  "name": "grantRole",
13190
13190
  "nodeType": "Identifier",
13191
13191
  "overloadedDeclarations": [],
@@ -13196,7 +13196,7 @@
13196
13196
  "typeString": "function (bytes32,address)"
13197
13197
  }
13198
13198
  },
13199
- "id": 38757,
13199
+ "id": 38764,
13200
13200
  "isConstant": false,
13201
13201
  "isLValue": false,
13202
13202
  "isPure": false,
@@ -13212,20 +13212,20 @@
13212
13212
  "typeString": "tuple()"
13213
13213
  }
13214
13214
  },
13215
- "id": 38758,
13215
+ "id": 38765,
13216
13216
  "nodeType": "ExpressionStatement",
13217
13217
  "src": "3063:32:99"
13218
13218
  }
13219
13219
  ]
13220
13220
  },
13221
13221
  "documentation": {
13222
- "id": 38739,
13222
+ "id": 38746,
13223
13223
  "nodeType": "StructuredDocumentation",
13224
13224
  "src": "2817:51:99",
13225
13225
  "text": " @dev Add account to BACKEND_ROLE"
13226
13226
  },
13227
13227
  "functionSelector": "61985da7",
13228
- "id": 38760,
13228
+ "id": 38767,
13229
13229
  "implemented": true,
13230
13230
  "kind": "function",
13231
13231
  "modifiers": [],
@@ -13233,17 +13233,17 @@
13233
13233
  "nameLocation": "2882:17:99",
13234
13234
  "nodeType": "FunctionDefinition",
13235
13235
  "parameters": {
13236
- "id": 38742,
13236
+ "id": 38749,
13237
13237
  "nodeType": "ParameterList",
13238
13238
  "parameters": [
13239
13239
  {
13240
13240
  "constant": false,
13241
- "id": 38741,
13241
+ "id": 38748,
13242
13242
  "mutability": "mutable",
13243
13243
  "name": "account",
13244
13244
  "nameLocation": "2908:7:99",
13245
13245
  "nodeType": "VariableDeclaration",
13246
- "scope": 38760,
13246
+ "scope": 38767,
13247
13247
  "src": "2900:15:99",
13248
13248
  "stateVariable": false,
13249
13249
  "storageLocation": "default",
@@ -13252,7 +13252,7 @@
13252
13252
  "typeString": "address"
13253
13253
  },
13254
13254
  "typeName": {
13255
- "id": 38740,
13255
+ "id": 38747,
13256
13256
  "name": "address",
13257
13257
  "nodeType": "ElementaryTypeName",
13258
13258
  "src": "2900:7:99",
@@ -13268,12 +13268,12 @@
13268
13268
  "src": "2899:17:99"
13269
13269
  },
13270
13270
  "returnParameters": {
13271
- "id": 38743,
13271
+ "id": 38750,
13272
13272
  "nodeType": "ParameterList",
13273
13273
  "parameters": [],
13274
13274
  "src": "2926:0:99"
13275
13275
  },
13276
- "scope": 38854,
13276
+ "scope": 38861,
13277
13277
  "src": "2873:229:99",
13278
13278
  "stateMutability": "nonpayable",
13279
13279
  "virtual": false,
@@ -13281,7 +13281,7 @@
13281
13281
  },
13282
13282
  {
13283
13283
  "body": {
13284
- "id": 38771,
13284
+ "id": 38778,
13285
13285
  "nodeType": "Block",
13286
13286
  "src": "3221:112:99",
13287
13287
  "statements": [
@@ -13289,11 +13289,11 @@
13289
13289
  "expression": {
13290
13290
  "arguments": [
13291
13291
  {
13292
- "id": 38767,
13292
+ "id": 38774,
13293
13293
  "name": "BACKEND_ROLE",
13294
13294
  "nodeType": "Identifier",
13295
13295
  "overloadedDeclarations": [],
13296
- "referencedDeclaration": 38549,
13296
+ "referencedDeclaration": 38556,
13297
13297
  "src": "3304:12:99",
13298
13298
  "typeDescriptions": {
13299
13299
  "typeIdentifier": "t_bytes32",
@@ -13301,11 +13301,11 @@
13301
13301
  }
13302
13302
  },
13303
13303
  {
13304
- "id": 38768,
13304
+ "id": 38775,
13305
13305
  "name": "account",
13306
13306
  "nodeType": "Identifier",
13307
13307
  "overloadedDeclarations": [],
13308
- "referencedDeclaration": 38763,
13308
+ "referencedDeclaration": 38770,
13309
13309
  "src": "3318:7:99",
13310
13310
  "typeDescriptions": {
13311
13311
  "typeIdentifier": "t_address",
@@ -13324,7 +13324,7 @@
13324
13324
  "typeString": "address"
13325
13325
  }
13326
13326
  ],
13327
- "id": 38766,
13327
+ "id": 38773,
13328
13328
  "name": "revokeRole",
13329
13329
  "nodeType": "Identifier",
13330
13330
  "overloadedDeclarations": [],
@@ -13335,7 +13335,7 @@
13335
13335
  "typeString": "function (bytes32,address)"
13336
13336
  }
13337
13337
  },
13338
- "id": 38769,
13338
+ "id": 38776,
13339
13339
  "isConstant": false,
13340
13340
  "isLValue": false,
13341
13341
  "isPure": false,
@@ -13351,20 +13351,20 @@
13351
13351
  "typeString": "tuple()"
13352
13352
  }
13353
13353
  },
13354
- "id": 38770,
13354
+ "id": 38777,
13355
13355
  "nodeType": "ExpressionStatement",
13356
13356
  "src": "3293:33:99"
13357
13357
  }
13358
13358
  ]
13359
13359
  },
13360
13360
  "documentation": {
13361
- "id": 38761,
13361
+ "id": 38768,
13362
13362
  "nodeType": "StructuredDocumentation",
13363
13363
  "src": "3108:54:99",
13364
13364
  "text": " @dev Remove account to BACKEND_ROLE"
13365
13365
  },
13366
13366
  "functionSelector": "abcac5eb",
13367
- "id": 38772,
13367
+ "id": 38779,
13368
13368
  "implemented": true,
13369
13369
  "kind": "function",
13370
13370
  "modifiers": [],
@@ -13372,17 +13372,17 @@
13372
13372
  "nameLocation": "3176:18:99",
13373
13373
  "nodeType": "FunctionDefinition",
13374
13374
  "parameters": {
13375
- "id": 38764,
13375
+ "id": 38771,
13376
13376
  "nodeType": "ParameterList",
13377
13377
  "parameters": [
13378
13378
  {
13379
13379
  "constant": false,
13380
- "id": 38763,
13380
+ "id": 38770,
13381
13381
  "mutability": "mutable",
13382
13382
  "name": "account",
13383
13383
  "nameLocation": "3203:7:99",
13384
13384
  "nodeType": "VariableDeclaration",
13385
- "scope": 38772,
13385
+ "scope": 38779,
13386
13386
  "src": "3195:15:99",
13387
13387
  "stateVariable": false,
13388
13388
  "storageLocation": "default",
@@ -13391,7 +13391,7 @@
13391
13391
  "typeString": "address"
13392
13392
  },
13393
13393
  "typeName": {
13394
- "id": 38762,
13394
+ "id": 38769,
13395
13395
  "name": "address",
13396
13396
  "nodeType": "ElementaryTypeName",
13397
13397
  "src": "3195:7:99",
@@ -13407,12 +13407,12 @@
13407
13407
  "src": "3194:17:99"
13408
13408
  },
13409
13409
  "returnParameters": {
13410
- "id": 38765,
13410
+ "id": 38772,
13411
13411
  "nodeType": "ParameterList",
13412
13412
  "parameters": [],
13413
13413
  "src": "3221:0:99"
13414
13414
  },
13415
- "scope": 38854,
13415
+ "scope": 38861,
13416
13416
  "src": "3167:166:99",
13417
13417
  "stateMutability": "nonpayable",
13418
13418
  "virtual": false,
@@ -13420,23 +13420,23 @@
13420
13420
  },
13421
13421
  {
13422
13422
  "body": {
13423
- "id": 38819,
13423
+ "id": 38826,
13424
13424
  "nodeType": "Block",
13425
13425
  "src": "3475:289:99",
13426
13426
  "statements": [
13427
13427
  {
13428
13428
  "assignments": [
13429
- 38780
13429
+ 38787
13430
13430
  ],
13431
13431
  "declarations": [
13432
13432
  {
13433
13433
  "constant": false,
13434
- "id": 38780,
13434
+ "id": 38787,
13435
13435
  "mutability": "mutable",
13436
13436
  "name": "numberOfMembers",
13437
13437
  "nameLocation": "3493:15:99",
13438
13438
  "nodeType": "VariableDeclaration",
13439
- "scope": 38819,
13439
+ "scope": 38826,
13440
13440
  "src": "3485:23:99",
13441
13441
  "stateVariable": false,
13442
13442
  "storageLocation": "default",
@@ -13445,7 +13445,7 @@
13445
13445
  "typeString": "uint256"
13446
13446
  },
13447
13447
  "typeName": {
13448
- "id": 38779,
13448
+ "id": 38786,
13449
13449
  "name": "uint256",
13450
13450
  "nodeType": "ElementaryTypeName",
13451
13451
  "src": "3485:7:99",
@@ -13457,15 +13457,15 @@
13457
13457
  "visibility": "internal"
13458
13458
  }
13459
13459
  ],
13460
- "id": 38784,
13460
+ "id": 38791,
13461
13461
  "initialValue": {
13462
13462
  "arguments": [
13463
13463
  {
13464
- "id": 38782,
13464
+ "id": 38789,
13465
13465
  "name": "BACKEND_ROLE",
13466
13466
  "nodeType": "Identifier",
13467
13467
  "overloadedDeclarations": [],
13468
- "referencedDeclaration": 38549,
13468
+ "referencedDeclaration": 38556,
13469
13469
  "src": "3530:12:99",
13470
13470
  "typeDescriptions": {
13471
13471
  "typeIdentifier": "t_bytes32",
@@ -13480,7 +13480,7 @@
13480
13480
  "typeString": "bytes32"
13481
13481
  }
13482
13482
  ],
13483
- "id": 38781,
13483
+ "id": 38788,
13484
13484
  "name": "getRoleMemberCount",
13485
13485
  "nodeType": "Identifier",
13486
13486
  "overloadedDeclarations": [],
@@ -13491,7 +13491,7 @@
13491
13491
  "typeString": "function (bytes32) view returns (uint256)"
13492
13492
  }
13493
13493
  },
13494
- "id": 38783,
13494
+ "id": 38790,
13495
13495
  "isConstant": false,
13496
13496
  "isLValue": false,
13497
13497
  "isPure": false,
@@ -13512,17 +13512,17 @@
13512
13512
  },
13513
13513
  {
13514
13514
  "assignments": [
13515
- 38789
13515
+ 38796
13516
13516
  ],
13517
13517
  "declarations": [
13518
13518
  {
13519
13519
  "constant": false,
13520
- "id": 38789,
13520
+ "id": 38796,
13521
13521
  "mutability": "mutable",
13522
13522
  "name": "members",
13523
13523
  "nameLocation": "3570:7:99",
13524
13524
  "nodeType": "VariableDeclaration",
13525
- "scope": 38819,
13525
+ "scope": 38826,
13526
13526
  "src": "3553:24:99",
13527
13527
  "stateVariable": false,
13528
13528
  "storageLocation": "memory",
@@ -13532,7 +13532,7 @@
13532
13532
  },
13533
13533
  "typeName": {
13534
13534
  "baseType": {
13535
- "id": 38787,
13535
+ "id": 38794,
13536
13536
  "name": "address",
13537
13537
  "nodeType": "ElementaryTypeName",
13538
13538
  "src": "3553:7:99",
@@ -13541,7 +13541,7 @@
13541
13541
  "typeString": "address"
13542
13542
  }
13543
13543
  },
13544
- "id": 38788,
13544
+ "id": 38795,
13545
13545
  "nodeType": "ArrayTypeName",
13546
13546
  "src": "3553:9:99",
13547
13547
  "typeDescriptions": {
@@ -13552,15 +13552,15 @@
13552
13552
  "visibility": "internal"
13553
13553
  }
13554
13554
  ],
13555
- "id": 38795,
13555
+ "id": 38802,
13556
13556
  "initialValue": {
13557
13557
  "arguments": [
13558
13558
  {
13559
- "id": 38793,
13559
+ "id": 38800,
13560
13560
  "name": "numberOfMembers",
13561
13561
  "nodeType": "Identifier",
13562
13562
  "overloadedDeclarations": [],
13563
- "referencedDeclaration": 38780,
13563
+ "referencedDeclaration": 38787,
13564
13564
  "src": "3594:15:99",
13565
13565
  "typeDescriptions": {
13566
13566
  "typeIdentifier": "t_uint256",
@@ -13575,7 +13575,7 @@
13575
13575
  "typeString": "uint256"
13576
13576
  }
13577
13577
  ],
13578
- "id": 38792,
13578
+ "id": 38799,
13579
13579
  "isConstant": false,
13580
13580
  "isLValue": false,
13581
13581
  "isPure": true,
@@ -13588,7 +13588,7 @@
13588
13588
  },
13589
13589
  "typeName": {
13590
13590
  "baseType": {
13591
- "id": 38790,
13591
+ "id": 38797,
13592
13592
  "name": "address",
13593
13593
  "nodeType": "ElementaryTypeName",
13594
13594
  "src": "3584:7:99",
@@ -13598,7 +13598,7 @@
13598
13598
  "typeString": "address"
13599
13599
  }
13600
13600
  },
13601
- "id": 38791,
13601
+ "id": 38798,
13602
13602
  "nodeType": "ArrayTypeName",
13603
13603
  "src": "3584:9:99",
13604
13604
  "typeDescriptions": {
@@ -13607,7 +13607,7 @@
13607
13607
  }
13608
13608
  }
13609
13609
  },
13610
- "id": 38794,
13610
+ "id": 38801,
13611
13611
  "isConstant": false,
13612
13612
  "isLValue": false,
13613
13613
  "isPure": false,
@@ -13628,37 +13628,37 @@
13628
13628
  },
13629
13629
  {
13630
13630
  "body": {
13631
- "id": 38815,
13631
+ "id": 38822,
13632
13632
  "nodeType": "Block",
13633
13633
  "src": "3666:68:99",
13634
13634
  "statements": [
13635
13635
  {
13636
13636
  "expression": {
13637
- "id": 38813,
13637
+ "id": 38820,
13638
13638
  "isConstant": false,
13639
13639
  "isLValue": false,
13640
13640
  "isPure": false,
13641
13641
  "lValueRequested": false,
13642
13642
  "leftHandSide": {
13643
13643
  "baseExpression": {
13644
- "id": 38806,
13644
+ "id": 38813,
13645
13645
  "name": "members",
13646
13646
  "nodeType": "Identifier",
13647
13647
  "overloadedDeclarations": [],
13648
- "referencedDeclaration": 38789,
13648
+ "referencedDeclaration": 38796,
13649
13649
  "src": "3680:7:99",
13650
13650
  "typeDescriptions": {
13651
13651
  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
13652
13652
  "typeString": "address[] memory"
13653
13653
  }
13654
13654
  },
13655
- "id": 38808,
13655
+ "id": 38815,
13656
13656
  "indexExpression": {
13657
- "id": 38807,
13657
+ "id": 38814,
13658
13658
  "name": "i",
13659
13659
  "nodeType": "Identifier",
13660
13660
  "overloadedDeclarations": [],
13661
- "referencedDeclaration": 38797,
13661
+ "referencedDeclaration": 38804,
13662
13662
  "src": "3688:1:99",
13663
13663
  "typeDescriptions": {
13664
13664
  "typeIdentifier": "t_uint256",
@@ -13681,11 +13681,11 @@
13681
13681
  "rightHandSide": {
13682
13682
  "arguments": [
13683
13683
  {
13684
- "id": 38810,
13684
+ "id": 38817,
13685
13685
  "name": "BACKEND_ROLE",
13686
13686
  "nodeType": "Identifier",
13687
13687
  "overloadedDeclarations": [],
13688
- "referencedDeclaration": 38549,
13688
+ "referencedDeclaration": 38556,
13689
13689
  "src": "3707:12:99",
13690
13690
  "typeDescriptions": {
13691
13691
  "typeIdentifier": "t_bytes32",
@@ -13693,11 +13693,11 @@
13693
13693
  }
13694
13694
  },
13695
13695
  {
13696
- "id": 38811,
13696
+ "id": 38818,
13697
13697
  "name": "i",
13698
13698
  "nodeType": "Identifier",
13699
13699
  "overloadedDeclarations": [],
13700
- "referencedDeclaration": 38797,
13700
+ "referencedDeclaration": 38804,
13701
13701
  "src": "3721:1:99",
13702
13702
  "typeDescriptions": {
13703
13703
  "typeIdentifier": "t_uint256",
@@ -13716,7 +13716,7 @@
13716
13716
  "typeString": "uint256"
13717
13717
  }
13718
13718
  ],
13719
- "id": 38809,
13719
+ "id": 38816,
13720
13720
  "name": "getRoleMember",
13721
13721
  "nodeType": "Identifier",
13722
13722
  "overloadedDeclarations": [],
@@ -13727,7 +13727,7 @@
13727
13727
  "typeString": "function (bytes32,uint256) view returns (address)"
13728
13728
  }
13729
13729
  },
13730
- "id": 38812,
13730
+ "id": 38819,
13731
13731
  "isConstant": false,
13732
13732
  "isLValue": false,
13733
13733
  "isPure": false,
@@ -13749,7 +13749,7 @@
13749
13749
  "typeString": "address"
13750
13750
  }
13751
13751
  },
13752
- "id": 38814,
13752
+ "id": 38821,
13753
13753
  "nodeType": "ExpressionStatement",
13754
13754
  "src": "3680:43:99"
13755
13755
  }
@@ -13760,17 +13760,17 @@
13760
13760
  "typeIdentifier": "t_uint256",
13761
13761
  "typeString": "uint256"
13762
13762
  },
13763
- "id": 38802,
13763
+ "id": 38809,
13764
13764
  "isConstant": false,
13765
13765
  "isLValue": false,
13766
13766
  "isPure": false,
13767
13767
  "lValueRequested": false,
13768
13768
  "leftExpression": {
13769
- "id": 38800,
13769
+ "id": 38807,
13770
13770
  "name": "i",
13771
13771
  "nodeType": "Identifier",
13772
13772
  "overloadedDeclarations": [],
13773
- "referencedDeclaration": 38797,
13773
+ "referencedDeclaration": 38804,
13774
13774
  "src": "3640:1:99",
13775
13775
  "typeDescriptions": {
13776
13776
  "typeIdentifier": "t_uint256",
@@ -13780,11 +13780,11 @@
13780
13780
  "nodeType": "BinaryOperation",
13781
13781
  "operator": "<",
13782
13782
  "rightExpression": {
13783
- "id": 38801,
13783
+ "id": 38808,
13784
13784
  "name": "numberOfMembers",
13785
13785
  "nodeType": "Identifier",
13786
13786
  "overloadedDeclarations": [],
13787
- "referencedDeclaration": 38780,
13787
+ "referencedDeclaration": 38787,
13788
13788
  "src": "3644:15:99",
13789
13789
  "typeDescriptions": {
13790
13790
  "typeIdentifier": "t_uint256",
@@ -13797,20 +13797,20 @@
13797
13797
  "typeString": "bool"
13798
13798
  }
13799
13799
  },
13800
- "id": 38816,
13800
+ "id": 38823,
13801
13801
  "initializationExpression": {
13802
13802
  "assignments": [
13803
- 38797
13803
+ 38804
13804
13804
  ],
13805
13805
  "declarations": [
13806
13806
  {
13807
13807
  "constant": false,
13808
- "id": 38797,
13808
+ "id": 38804,
13809
13809
  "mutability": "mutable",
13810
13810
  "name": "i",
13811
13811
  "nameLocation": "3633:1:99",
13812
13812
  "nodeType": "VariableDeclaration",
13813
- "scope": 38816,
13813
+ "scope": 38823,
13814
13814
  "src": "3625:9:99",
13815
13815
  "stateVariable": false,
13816
13816
  "storageLocation": "default",
@@ -13819,7 +13819,7 @@
13819
13819
  "typeString": "uint256"
13820
13820
  },
13821
13821
  "typeName": {
13822
- "id": 38796,
13822
+ "id": 38803,
13823
13823
  "name": "uint256",
13824
13824
  "nodeType": "ElementaryTypeName",
13825
13825
  "src": "3625:7:99",
@@ -13831,10 +13831,10 @@
13831
13831
  "visibility": "internal"
13832
13832
  }
13833
13833
  ],
13834
- "id": 38799,
13834
+ "id": 38806,
13835
13835
  "initialValue": {
13836
13836
  "hexValue": "30",
13837
- "id": 38798,
13837
+ "id": 38805,
13838
13838
  "isConstant": false,
13839
13839
  "isLValue": false,
13840
13840
  "isPure": true,
@@ -13853,7 +13853,7 @@
13853
13853
  },
13854
13854
  "loopExpression": {
13855
13855
  "expression": {
13856
- "id": 38804,
13856
+ "id": 38811,
13857
13857
  "isConstant": false,
13858
13858
  "isLValue": false,
13859
13859
  "isPure": false,
@@ -13863,11 +13863,11 @@
13863
13863
  "prefix": true,
13864
13864
  "src": "3661:3:99",
13865
13865
  "subExpression": {
13866
- "id": 38803,
13866
+ "id": 38810,
13867
13867
  "name": "i",
13868
13868
  "nodeType": "Identifier",
13869
13869
  "overloadedDeclarations": [],
13870
- "referencedDeclaration": 38797,
13870
+ "referencedDeclaration": 38804,
13871
13871
  "src": "3663:1:99",
13872
13872
  "typeDescriptions": {
13873
13873
  "typeIdentifier": "t_uint256",
@@ -13879,7 +13879,7 @@
13879
13879
  "typeString": "uint256"
13880
13880
  }
13881
13881
  },
13882
- "id": 38805,
13882
+ "id": 38812,
13883
13883
  "nodeType": "ExpressionStatement",
13884
13884
  "src": "3661:3:99"
13885
13885
  },
@@ -13888,32 +13888,32 @@
13888
13888
  },
13889
13889
  {
13890
13890
  "expression": {
13891
- "id": 38817,
13891
+ "id": 38824,
13892
13892
  "name": "members",
13893
13893
  "nodeType": "Identifier",
13894
13894
  "overloadedDeclarations": [],
13895
- "referencedDeclaration": 38789,
13895
+ "referencedDeclaration": 38796,
13896
13896
  "src": "3750:7:99",
13897
13897
  "typeDescriptions": {
13898
13898
  "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
13899
13899
  "typeString": "address[] memory"
13900
13900
  }
13901
13901
  },
13902
- "functionReturnParameters": 38778,
13903
- "id": 38818,
13902
+ "functionReturnParameters": 38785,
13903
+ "id": 38825,
13904
13904
  "nodeType": "Return",
13905
13905
  "src": "3743:14:99"
13906
13906
  }
13907
13907
  ]
13908
13908
  },
13909
13909
  "documentation": {
13910
- "id": 38773,
13910
+ "id": 38780,
13911
13911
  "nodeType": "StructuredDocumentation",
13912
13912
  "src": "3339:63:99",
13913
13913
  "text": " @dev Get list of all members of BACKEND_ROLE"
13914
13914
  },
13915
13915
  "functionSelector": "0f01a4a2",
13916
- "id": 38820,
13916
+ "id": 38827,
13917
13917
  "implemented": true,
13918
13918
  "kind": "function",
13919
13919
  "modifiers": [],
@@ -13921,23 +13921,23 @@
13921
13921
  "nameLocation": "3416:16:99",
13922
13922
  "nodeType": "FunctionDefinition",
13923
13923
  "parameters": {
13924
- "id": 38774,
13924
+ "id": 38781,
13925
13925
  "nodeType": "ParameterList",
13926
13926
  "parameters": [],
13927
13927
  "src": "3432:2:99"
13928
13928
  },
13929
13929
  "returnParameters": {
13930
- "id": 38778,
13930
+ "id": 38785,
13931
13931
  "nodeType": "ParameterList",
13932
13932
  "parameters": [
13933
13933
  {
13934
13934
  "constant": false,
13935
- "id": 38777,
13935
+ "id": 38784,
13936
13936
  "mutability": "mutable",
13937
13937
  "name": "",
13938
13938
  "nameLocation": "-1:-1:-1",
13939
13939
  "nodeType": "VariableDeclaration",
13940
- "scope": 38820,
13940
+ "scope": 38827,
13941
13941
  "src": "3457:16:99",
13942
13942
  "stateVariable": false,
13943
13943
  "storageLocation": "memory",
@@ -13947,7 +13947,7 @@
13947
13947
  },
13948
13948
  "typeName": {
13949
13949
  "baseType": {
13950
- "id": 38775,
13950
+ "id": 38782,
13951
13951
  "name": "address",
13952
13952
  "nodeType": "ElementaryTypeName",
13953
13953
  "src": "3457:7:99",
@@ -13957,7 +13957,7 @@
13957
13957
  "typeString": "address"
13958
13958
  }
13959
13959
  },
13960
- "id": 38776,
13960
+ "id": 38783,
13961
13961
  "nodeType": "ArrayTypeName",
13962
13962
  "src": "3457:9:99",
13963
13963
  "typeDescriptions": {
@@ -13970,7 +13970,7 @@
13970
13970
  ],
13971
13971
  "src": "3456:18:99"
13972
13972
  },
13973
- "scope": 38854,
13973
+ "scope": 38861,
13974
13974
  "src": "3407:357:99",
13975
13975
  "stateMutability": "view",
13976
13976
  "virtual": false,
@@ -13978,34 +13978,34 @@
13978
13978
  },
13979
13979
  {
13980
13980
  "body": {
13981
- "id": 38836,
13981
+ "id": 38843,
13982
13982
  "nodeType": "Block",
13983
13983
  "src": "3884:87:99",
13984
13984
  "statements": [
13985
13985
  {
13986
13986
  "expression": {
13987
- "id": 38829,
13987
+ "id": 38836,
13988
13988
  "isConstant": false,
13989
13989
  "isLValue": false,
13990
13990
  "isPure": false,
13991
13991
  "lValueRequested": false,
13992
13992
  "leftHandSide": {
13993
13993
  "baseExpression": {
13994
- "id": 38824,
13994
+ "id": 38831,
13995
13995
  "name": "_optout",
13996
13996
  "nodeType": "Identifier",
13997
13997
  "overloadedDeclarations": [],
13998
- "referencedDeclaration": 38561,
13998
+ "referencedDeclaration": 38568,
13999
13999
  "src": "3894:7:99",
14000
14000
  "typeDescriptions": {
14001
14001
  "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
14002
14002
  "typeString": "mapping(address => bool)"
14003
14003
  }
14004
14004
  },
14005
- "id": 38827,
14005
+ "id": 38834,
14006
14006
  "indexExpression": {
14007
14007
  "expression": {
14008
- "id": 38825,
14008
+ "id": 38832,
14009
14009
  "name": "msg",
14010
14010
  "nodeType": "Identifier",
14011
14011
  "overloadedDeclarations": [],
@@ -14016,7 +14016,7 @@
14016
14016
  "typeString": "msg"
14017
14017
  }
14018
14018
  },
14019
- "id": 38826,
14019
+ "id": 38833,
14020
14020
  "isConstant": false,
14021
14021
  "isLValue": false,
14022
14022
  "isPure": false,
@@ -14045,7 +14045,7 @@
14045
14045
  "operator": "=",
14046
14046
  "rightHandSide": {
14047
14047
  "hexValue": "74727565",
14048
- "id": 38828,
14048
+ "id": 38835,
14049
14049
  "isConstant": false,
14050
14050
  "isLValue": false,
14051
14051
  "isPure": true,
@@ -14065,7 +14065,7 @@
14065
14065
  "typeString": "bool"
14066
14066
  }
14067
14067
  },
14068
- "id": 38830,
14068
+ "id": 38837,
14069
14069
  "nodeType": "ExpressionStatement",
14070
14070
  "src": "3894:26:99"
14071
14071
  },
@@ -14074,7 +14074,7 @@
14074
14074
  "arguments": [
14075
14075
  {
14076
14076
  "expression": {
14077
- "id": 38832,
14077
+ "id": 38839,
14078
14078
  "name": "msg",
14079
14079
  "nodeType": "Identifier",
14080
14080
  "overloadedDeclarations": [],
@@ -14085,7 +14085,7 @@
14085
14085
  "typeString": "msg"
14086
14086
  }
14087
14087
  },
14088
- "id": 38833,
14088
+ "id": 38840,
14089
14089
  "isConstant": false,
14090
14090
  "isLValue": false,
14091
14091
  "isPure": false,
@@ -14107,18 +14107,18 @@
14107
14107
  "typeString": "address"
14108
14108
  }
14109
14109
  ],
14110
- "id": 38831,
14110
+ "id": 38838,
14111
14111
  "name": "OptoutAutoUpgrade",
14112
14112
  "nodeType": "Identifier",
14113
14113
  "overloadedDeclarations": [],
14114
- "referencedDeclaration": 38553,
14114
+ "referencedDeclaration": 38560,
14115
14115
  "src": "3935:17:99",
14116
14116
  "typeDescriptions": {
14117
14117
  "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$",
14118
14118
  "typeString": "function (address)"
14119
14119
  }
14120
14120
  },
14121
- "id": 38834,
14121
+ "id": 38841,
14122
14122
  "isConstant": false,
14123
14123
  "isLValue": false,
14124
14124
  "isPure": false,
@@ -14134,20 +14134,20 @@
14134
14134
  "typeString": "tuple()"
14135
14135
  }
14136
14136
  },
14137
- "id": 38835,
14137
+ "id": 38842,
14138
14138
  "nodeType": "EmitStatement",
14139
14139
  "src": "3930:34:99"
14140
14140
  }
14141
14141
  ]
14142
14142
  },
14143
14143
  "documentation": {
14144
- "id": 38821,
14144
+ "id": 38828,
14145
14145
  "nodeType": "StructuredDocumentation",
14146
14146
  "src": "3770:70:99",
14147
14147
  "text": " @dev User signal that opt-out from backend upgrades"
14148
14148
  },
14149
14149
  "functionSelector": "ec328253",
14150
- "id": 38837,
14150
+ "id": 38844,
14151
14151
  "implemented": true,
14152
14152
  "kind": "function",
14153
14153
  "modifiers": [],
@@ -14155,18 +14155,18 @@
14155
14155
  "nameLocation": "3854:18:99",
14156
14156
  "nodeType": "FunctionDefinition",
14157
14157
  "parameters": {
14158
- "id": 38822,
14158
+ "id": 38829,
14159
14159
  "nodeType": "ParameterList",
14160
14160
  "parameters": [],
14161
14161
  "src": "3872:2:99"
14162
14162
  },
14163
14163
  "returnParameters": {
14164
- "id": 38823,
14164
+ "id": 38830,
14165
14165
  "nodeType": "ParameterList",
14166
14166
  "parameters": [],
14167
14167
  "src": "3884:0:99"
14168
14168
  },
14169
- "scope": 38854,
14169
+ "scope": 38861,
14170
14170
  "src": "3845:126:99",
14171
14171
  "stateMutability": "nonpayable",
14172
14172
  "virtual": false,
@@ -14174,13 +14174,13 @@
14174
14174
  },
14175
14175
  {
14176
14176
  "body": {
14177
- "id": 38852,
14177
+ "id": 38859,
14178
14178
  "nodeType": "Block",
14179
14179
  "src": "4097:86:99",
14180
14180
  "statements": [
14181
14181
  {
14182
14182
  "expression": {
14183
- "id": 38845,
14183
+ "id": 38852,
14184
14184
  "isConstant": false,
14185
14185
  "isLValue": false,
14186
14186
  "isPure": false,
@@ -14191,21 +14191,21 @@
14191
14191
  "src": "4107:26:99",
14192
14192
  "subExpression": {
14193
14193
  "baseExpression": {
14194
- "id": 38841,
14194
+ "id": 38848,
14195
14195
  "name": "_optout",
14196
14196
  "nodeType": "Identifier",
14197
14197
  "overloadedDeclarations": [],
14198
- "referencedDeclaration": 38561,
14198
+ "referencedDeclaration": 38568,
14199
14199
  "src": "4114:7:99",
14200
14200
  "typeDescriptions": {
14201
14201
  "typeIdentifier": "t_mapping$_t_address_$_t_bool_$",
14202
14202
  "typeString": "mapping(address => bool)"
14203
14203
  }
14204
14204
  },
14205
- "id": 38844,
14205
+ "id": 38851,
14206
14206
  "indexExpression": {
14207
14207
  "expression": {
14208
- "id": 38842,
14208
+ "id": 38849,
14209
14209
  "name": "msg",
14210
14210
  "nodeType": "Identifier",
14211
14211
  "overloadedDeclarations": [],
@@ -14216,7 +14216,7 @@
14216
14216
  "typeString": "msg"
14217
14217
  }
14218
14218
  },
14219
- "id": 38843,
14219
+ "id": 38850,
14220
14220
  "isConstant": false,
14221
14221
  "isLValue": false,
14222
14222
  "isPure": false,
@@ -14246,7 +14246,7 @@
14246
14246
  "typeString": "tuple()"
14247
14247
  }
14248
14248
  },
14249
- "id": 38846,
14249
+ "id": 38853,
14250
14250
  "nodeType": "ExpressionStatement",
14251
14251
  "src": "4107:26:99"
14252
14252
  },
@@ -14255,7 +14255,7 @@
14255
14255
  "arguments": [
14256
14256
  {
14257
14257
  "expression": {
14258
- "id": 38848,
14258
+ "id": 38855,
14259
14259
  "name": "msg",
14260
14260
  "nodeType": "Identifier",
14261
14261
  "overloadedDeclarations": [],
@@ -14266,7 +14266,7 @@
14266
14266
  "typeString": "msg"
14267
14267
  }
14268
14268
  },
14269
- "id": 38849,
14269
+ "id": 38856,
14270
14270
  "isConstant": false,
14271
14271
  "isLValue": false,
14272
14272
  "isPure": false,
@@ -14288,18 +14288,18 @@
14288
14288
  "typeString": "address"
14289
14289
  }
14290
14290
  ],
14291
- "id": 38847,
14291
+ "id": 38854,
14292
14292
  "name": "OptinAutoUpgrade",
14293
14293
  "nodeType": "Identifier",
14294
14294
  "overloadedDeclarations": [],
14295
- "referencedDeclaration": 38557,
14295
+ "referencedDeclaration": 38564,
14296
14296
  "src": "4148:16:99",
14297
14297
  "typeDescriptions": {
14298
14298
  "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$",
14299
14299
  "typeString": "function (address)"
14300
14300
  }
14301
14301
  },
14302
- "id": 38850,
14302
+ "id": 38857,
14303
14303
  "isConstant": false,
14304
14304
  "isLValue": false,
14305
14305
  "isPure": false,
@@ -14315,20 +14315,20 @@
14315
14315
  "typeString": "tuple()"
14316
14316
  }
14317
14317
  },
14318
- "id": 38851,
14318
+ "id": 38858,
14319
14319
  "nodeType": "EmitStatement",
14320
14320
  "src": "4143:33:99"
14321
14321
  }
14322
14322
  ]
14323
14323
  },
14324
14324
  "documentation": {
14325
- "id": 38838,
14325
+ "id": 38845,
14326
14326
  "nodeType": "StructuredDocumentation",
14327
14327
  "src": "3977:77:99",
14328
14328
  "text": " @dev User signal that revoke opt-out from backend upgrades"
14329
14329
  },
14330
14330
  "functionSelector": "5d730c58",
14331
- "id": 38853,
14331
+ "id": 38860,
14332
14332
  "implemented": true,
14333
14333
  "kind": "function",
14334
14334
  "modifiers": [],
@@ -14336,25 +14336,25 @@
14336
14336
  "nameLocation": "4068:17:99",
14337
14337
  "nodeType": "FunctionDefinition",
14338
14338
  "parameters": {
14339
- "id": 38839,
14339
+ "id": 38846,
14340
14340
  "nodeType": "ParameterList",
14341
14341
  "parameters": [],
14342
14342
  "src": "4085:2:99"
14343
14343
  },
14344
14344
  "returnParameters": {
14345
- "id": 38840,
14345
+ "id": 38847,
14346
14346
  "nodeType": "ParameterList",
14347
14347
  "parameters": [],
14348
14348
  "src": "4097:0:99"
14349
14349
  },
14350
- "scope": 38854,
14350
+ "scope": 38861,
14351
14351
  "src": "4059:124:99",
14352
14352
  "stateMutability": "nonpayable",
14353
14353
  "virtual": false,
14354
14354
  "visibility": "external"
14355
14355
  }
14356
14356
  ],
14357
- "scope": 38855,
14357
+ "scope": 38862,
14358
14358
  "src": "645:3540:99",
14359
14359
  "usedErrors": []
14360
14360
  }
@@ -14367,7 +14367,7 @@
14367
14367
  },
14368
14368
  "networks": {},
14369
14369
  "schemaVersion": "3.4.9",
14370
- "updatedAt": "2022-09-21T07:45:09.831Z",
14370
+ "updatedAt": "2022-09-21T11:06:18.605Z",
14371
14371
  "devdoc": {
14372
14372
  "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.",
14373
14373
  "kind": "dev",