mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Allow marking free functions as suffixes
This commit is contained in:
parent
8aa57aec24
commit
e9197ff30f
@ -1,6 +1,7 @@
|
||||
### 0.8.21 (unreleased)
|
||||
|
||||
Language Features:
|
||||
* General: Introduce literal suffix functions. Free functions can now be marked as suffixes and applied to literals using a new suffix call syntax.
|
||||
|
||||
|
||||
Compiler Features:
|
||||
@ -13,6 +14,8 @@ Bugfixes:
|
||||
|
||||
|
||||
AST Changes:
|
||||
* AST: Add ``isSuffixCall`` field to ``FunctionCall`` AST node, which is ``true`` for calls resulting from applying a literal suffix.
|
||||
* AST: Add ``suffix`` field to ``FunctionDefinition`` AST node, which is ``true`` for free function definitions using the ``suffix`` modifier.
|
||||
* AST: Add the ``experimentalSolidity`` field to the ``SourceUnit`` nodes, which indicate whether the experimental parsing mode has been enabled via ``pragma experimental solidity``.
|
||||
|
||||
|
||||
|
@ -426,6 +426,104 @@ bool TypeChecker::visit(FunctionDefinition const& _function)
|
||||
else if (_function.libraryFunction())
|
||||
m_errorReporter.typeError(7801_error, _function.location(), "Library functions cannot be \"virtual\".");
|
||||
}
|
||||
if (_function.usableAsSuffix())
|
||||
{
|
||||
if (_function.stateMutability() != StateMutability::Pure)
|
||||
m_errorReporter.typeError(
|
||||
1716_error,
|
||||
_function.location(),
|
||||
"Only pure functions can be used as literal suffixes"
|
||||
);
|
||||
|
||||
optional<string> parameterCountMessage;
|
||||
if (_function.parameterList().parameters().size() == 0)
|
||||
parameterCountMessage = "Functions that take no arguments cannot be used as literal suffixes.";
|
||||
else if (_function.parameterList().parameters().size() >= 3)
|
||||
parameterCountMessage = "Functions that take 3 or more arguments cannot be used as literal suffixes.";
|
||||
|
||||
if (parameterCountMessage.has_value())
|
||||
m_errorReporter.typeError(9128_error, _function.parameterList().location(), parameterCountMessage.value());
|
||||
else if (_function.parameterList().parameters().size() == 2)
|
||||
{
|
||||
auto const* mantissaType = dynamic_cast<IntegerType const*>(_function.parameterList().parameters()[0]->type());
|
||||
auto const* exponentType = dynamic_cast<IntegerType const*>(_function.parameterList().parameters()[1]->type());
|
||||
|
||||
vector<string> mantissaOrExponentTypeErrorMessages;
|
||||
if (!mantissaType)
|
||||
mantissaOrExponentTypeErrorMessages.emplace_back("The mantissa parameter must be an integer.");
|
||||
if (!exponentType)
|
||||
mantissaOrExponentTypeErrorMessages.emplace_back("The exponent parameter must be an unsigned integer.");
|
||||
|
||||
if (!mantissaOrExponentTypeErrorMessages.empty())
|
||||
m_errorReporter.typeError(
|
||||
1587_error,
|
||||
_function.parameterList().location(),
|
||||
"Literal suffix function has invalid parameter types. " +
|
||||
joinHumanReadable(mantissaOrExponentTypeErrorMessages, " ")
|
||||
);
|
||||
|
||||
if (exponentType && exponentType->isSigned())
|
||||
m_errorReporter.typeError(
|
||||
3123_error,
|
||||
_function.parameterList().parameters()[1]->typeName().location(),
|
||||
"The exponent parameter of a literal suffix function must be unsigned. "
|
||||
"Exponent is always either zero or a negative power of 10 but the parameter represents its absolute value."
|
||||
);
|
||||
}
|
||||
else if (_function.parameterList().parameters().size() == 1)
|
||||
{
|
||||
auto const* parameterType = _function.parameterList().parameters()[0]->type();
|
||||
|
||||
if (dynamic_cast<FixedPointType const*>(parameterType))
|
||||
m_errorReporter.typeError(
|
||||
2699_error,
|
||||
_function.parameterList().parameters()[0]->location(),
|
||||
"Parameters of fixed-point types are not allowed in literal suffix functions. "
|
||||
"To support fractional literals the suffix function must accept two integer arguments "
|
||||
"(mantissa and exponent) that such literals can be decomposed into."
|
||||
);
|
||||
|
||||
if (
|
||||
!TypeProvider::boolean()->isImplicitlyConvertibleTo(*parameterType) &&
|
||||
// ASSUMPTION: There are no address payable literals.
|
||||
!TypeProvider::address()->isImplicitlyConvertibleTo(*parameterType) &&
|
||||
// ASSUMPTION: Literal 1 is implicitly convertible to any integer type.
|
||||
!TypeProvider::rationalNumber(1)->isImplicitlyConvertibleTo(*parameterType) &&
|
||||
// ASSUMPTION: bytes1 is implicitly convertible to any fixed-bytes type.
|
||||
!TypeProvider::fixedBytes(1)->isImplicitlyConvertibleTo(*parameterType) &&
|
||||
!TypeProvider::stringLiteral("a")->isImplicitlyConvertibleTo(*parameterType)
|
||||
)
|
||||
m_errorReporter.typeError(
|
||||
2998_error,
|
||||
_function.parameterList().parameters()[0]->location(),
|
||||
"This literal suffix function is not usable as a suffix because no literal is "
|
||||
"implicitly convertible to its parameter type."
|
||||
);
|
||||
}
|
||||
|
||||
solAssert(_function.returnParameterList());
|
||||
if (_function.returnParameterList()->parameters().size() != 1)
|
||||
{
|
||||
m_errorReporter.typeError(
|
||||
7848_error,
|
||||
_function.returnParameterList()->location(),
|
||||
"Literal suffix functions must return exactly one value."
|
||||
);
|
||||
}
|
||||
|
||||
for (ASTPointer<VariableDeclaration const> returnParameter: _function.returnParameterList()->parameters())
|
||||
{
|
||||
solAssert(returnParameter);
|
||||
auto referenceType = dynamic_cast<ReferenceType const*>(returnParameter->type());
|
||||
auto mappingType = dynamic_cast<MappingType const*>(returnParameter->type());
|
||||
if (mappingType || (referenceType && !referenceType->dataStoredIn(DataLocation::Memory)))
|
||||
m_errorReporter.typeError(
|
||||
7251_error,
|
||||
returnParameter->location(),
|
||||
"Literal suffix functions can only return value types and reference types stored in memory."
|
||||
);
|
||||
}
|
||||
}
|
||||
if (_function.overrides() && _function.isFree())
|
||||
m_errorReporter.syntaxError(1750_error, _function.location(), "Free functions cannot override.");
|
||||
|
||||
|
@ -951,6 +951,7 @@ public:
|
||||
bool _free,
|
||||
Token _kind,
|
||||
bool _isVirtual,
|
||||
bool _usableAsSuffix,
|
||||
ASTPointer<OverrideSpecifier> const& _overrides,
|
||||
ASTPointer<StructuredDocumentation> const& _documentation,
|
||||
ASTPointer<ParameterList> const& _parameters,
|
||||
@ -964,11 +965,14 @@ public:
|
||||
m_stateMutability(_stateMutability),
|
||||
m_free(_free),
|
||||
m_kind(_kind),
|
||||
m_usableAsSuffix(_usableAsSuffix),
|
||||
m_functionModifiers(std::move(_modifiers)),
|
||||
m_body(_body)
|
||||
{
|
||||
solAssert(_kind == Token::Constructor || _kind == Token::Function || _kind == Token::Fallback || _kind == Token::Receive, "");
|
||||
solAssert(isOrdinary() == !name().empty(), "");
|
||||
if (_usableAsSuffix)
|
||||
solAssert(_free);
|
||||
}
|
||||
|
||||
void accept(ASTVisitor& _visitor) override;
|
||||
@ -981,6 +985,7 @@ public:
|
||||
bool isFallback() const { return m_kind == Token::Fallback; }
|
||||
bool isReceive() const { return m_kind == Token::Receive; }
|
||||
bool isFree() const { return m_free; }
|
||||
bool usableAsSuffix() const { return m_usableAsSuffix; }
|
||||
Token kind() const { return m_kind; }
|
||||
bool isPayable() const { return m_stateMutability == StateMutability::Payable; }
|
||||
std::vector<ASTPointer<ModifierInvocation>> const& modifiers() const { return m_functionModifiers; }
|
||||
@ -1027,9 +1032,10 @@ public:
|
||||
) const override;
|
||||
|
||||
private:
|
||||
StateMutability m_stateMutability;
|
||||
bool m_free;
|
||||
Token const m_kind;
|
||||
StateMutability m_stateMutability{};
|
||||
bool m_free{};
|
||||
Token const m_kind{};
|
||||
bool m_usableAsSuffix{};
|
||||
std::vector<ASTPointer<ModifierInvocation>> m_functionModifiers;
|
||||
ASTPointer<Block> m_body;
|
||||
};
|
||||
|
@ -458,6 +458,7 @@ bool ASTJsonExporter::visit(FunctionDefinition const& _node)
|
||||
make_pair("kind", _node.isFree() ? "freeFunction" : TokenTraits::toString(_node.kind())),
|
||||
make_pair("stateMutability", stateMutabilityToString(_node.stateMutability())),
|
||||
make_pair("virtual", _node.markedVirtual()),
|
||||
make_pair("suffix", _node.usableAsSuffix()),
|
||||
make_pair("overrides", _node.overrides() ? toJson(*_node.overrides()) : Json::nullValue),
|
||||
make_pair("parameters", toJson(_node.parameterList())),
|
||||
make_pair("returnParameters", toJson(*_node.returnParameterList())),
|
||||
|
@ -557,6 +557,7 @@ ASTPointer<FunctionDefinition> ASTJsonImporter::createFunctionDefinition(Json::V
|
||||
freeFunction,
|
||||
kind,
|
||||
memberAsBool(_node, "virtual"),
|
||||
memberAsBool(_node, "suffix"),
|
||||
_node["overrides"].isNull() ? nullptr : createOverrideSpecifier(member(_node, "overrides")),
|
||||
_node["documentation"].isNull() ? nullptr : createDocumentation(member(_node, "documentation")),
|
||||
createParameterList(member(_node, "parameters")),
|
||||
|
@ -540,7 +540,7 @@ StateMutability Parser::parseStateMutability()
|
||||
return stateMutability;
|
||||
}
|
||||
|
||||
Parser::FunctionHeaderParserResult Parser::parseFunctionHeader(bool _isStateVariable)
|
||||
Parser::FunctionHeaderParserResult Parser::parseFunctionHeader(bool _isStateVariable, bool _freeFunction)
|
||||
{
|
||||
RecursionGuard recursionGuard(*this);
|
||||
FunctionHeaderParserResult result;
|
||||
@ -552,7 +552,18 @@ Parser::FunctionHeaderParserResult Parser::parseFunctionHeader(bool _isStateVari
|
||||
{
|
||||
Token token = m_scanner->currentToken();
|
||||
if (!_isStateVariable && token == Token::Identifier)
|
||||
result.modifiers.push_back(parseModifierInvocation());
|
||||
{
|
||||
if (_freeFunction && currentLiteral() == "suffix")
|
||||
{
|
||||
if (result.usableAsSuffix)
|
||||
parserError(2878_error, "Suffix already specified.");
|
||||
else
|
||||
result.usableAsSuffix = true;
|
||||
advance();
|
||||
}
|
||||
else
|
||||
result.modifiers.push_back(parseModifierInvocation());
|
||||
}
|
||||
else if (TokenTraits::isVisibilitySpecifier(token))
|
||||
{
|
||||
if (result.visibility != Visibility::Default)
|
||||
@ -662,7 +673,7 @@ ASTPointer<ASTNode> Parser::parseFunctionDefinition(bool _freeFunction)
|
||||
name = make_shared<ASTString>();
|
||||
}
|
||||
|
||||
FunctionHeaderParserResult header = parseFunctionHeader(false);
|
||||
FunctionHeaderParserResult header = parseFunctionHeader(false /* _isStateVariable */, _freeFunction);
|
||||
|
||||
ASTPointer<Block> block;
|
||||
nodeFactory.markEndPosition();
|
||||
@ -681,6 +692,7 @@ ASTPointer<ASTNode> Parser::parseFunctionDefinition(bool _freeFunction)
|
||||
_freeFunction,
|
||||
kind,
|
||||
header.isVirtual,
|
||||
header.usableAsSuffix,
|
||||
header.overrides,
|
||||
documentation,
|
||||
header.parameters,
|
||||
@ -1207,7 +1219,7 @@ ASTPointer<FunctionTypeName> Parser::parseFunctionType()
|
||||
RecursionGuard recursionGuard(*this);
|
||||
ASTNodeFactory nodeFactory(*this);
|
||||
expectToken(Token::Function);
|
||||
FunctionHeaderParserResult header = parseFunctionHeader(true);
|
||||
FunctionHeaderParserResult header = parseFunctionHeader(true /* _isStateVariable */, false /* _freeFunction */);
|
||||
return nodeFactory.createNode<FunctionTypeName>(
|
||||
header.parameters,
|
||||
header.returnParameters,
|
||||
|
@ -69,6 +69,7 @@ private:
|
||||
struct FunctionHeaderParserResult
|
||||
{
|
||||
bool isVirtual = false;
|
||||
bool usableAsSuffix = false;
|
||||
ASTPointer<OverrideSpecifier> overrides;
|
||||
ASTPointer<ParameterList> parameters;
|
||||
ASTPointer<ParameterList> returnParameters;
|
||||
@ -99,7 +100,7 @@ private:
|
||||
Visibility parseVisibilitySpecifier();
|
||||
ASTPointer<OverrideSpecifier> parseOverrideSpecifier();
|
||||
StateMutability parseStateMutability();
|
||||
FunctionHeaderParserResult parseFunctionHeader(bool _isStateVariable);
|
||||
FunctionHeaderParserResult parseFunctionHeader(bool _isStateVariable, bool _freeFunction);
|
||||
ASTPointer<ASTNode> parseFunctionDefinition(bool _freeFunction = false);
|
||||
ASTPointer<StructDefinition> parseStructDefinition();
|
||||
ASTPointer<EnumDefinition> parseEnumDefinition();
|
||||
|
@ -103,6 +103,7 @@
|
||||
"scope": 7,
|
||||
"src": "40:46:0",
|
||||
"stateMutability": "pure",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -80,6 +80,7 @@ JSON AST (compact format):
|
||||
"scope": 18,
|
||||
"src": "82:63:0",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
},
|
||||
@ -174,6 +175,7 @@ JSON AST (compact format):
|
||||
"scope": 18,
|
||||
"src": "398:61:0",
|
||||
"stateMutability": "view",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -68,6 +68,7 @@
|
||||
"scope": 6,
|
||||
"src": "72:27:0",
|
||||
"stateMutability": "pure",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -79,6 +79,7 @@
|
||||
"scope": 6,
|
||||
"src": "72:27:0",
|
||||
"stateMutability": "pure",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -79,6 +79,7 @@
|
||||
"scope": 6,
|
||||
"src": "72:27:0",
|
||||
"stateMutability": "pure",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -60,6 +60,7 @@
|
||||
"scope": 5,
|
||||
"src": "23:18:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "internal"
|
||||
}
|
||||
|
@ -46,6 +46,7 @@
|
||||
},
|
||||
"src": "23:18:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false
|
||||
}
|
||||
],
|
||||
|
@ -565,6 +565,7 @@
|
||||
"scope": 39,
|
||||
"src": "67:189:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -373,6 +373,7 @@
|
||||
},
|
||||
"src": "67:189:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -158,6 +158,7 @@
|
||||
"scope": 6,
|
||||
"src": "17:79:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -143,6 +143,7 @@
|
||||
},
|
||||
"src": "17:79:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -83,6 +83,7 @@
|
||||
"scope": 6,
|
||||
"src": "17:56:1",
|
||||
"stateMutability": "view",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -68,6 +68,7 @@
|
||||
},
|
||||
"src": "17:56:1",
|
||||
"stateMutability": "view",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -145,6 +145,7 @@
|
||||
"scope": 6,
|
||||
"src": "17:93:1",
|
||||
"stateMutability": "view",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -130,6 +130,7 @@
|
||||
},
|
||||
"src": "17:93:1",
|
||||
"stateMutability": "view",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -95,6 +95,7 @@
|
||||
"scope": 6,
|
||||
"src": "17:71:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -80,6 +80,7 @@
|
||||
},
|
||||
"src": "17:71:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -158,6 +158,7 @@
|
||||
"scope": 6,
|
||||
"src": "17:99:1",
|
||||
"stateMutability": "view",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -143,6 +143,7 @@
|
||||
},
|
||||
"src": "17:99:1",
|
||||
"stateMutability": "view",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -163,6 +163,7 @@
|
||||
"scope": 8,
|
||||
"src": "15:137:1",
|
||||
"stateMutability": "pure",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -130,6 +130,7 @@
|
||||
},
|
||||
"src": "15:137:1",
|
||||
"stateMutability": "pure",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -239,6 +239,7 @@
|
||||
"scope": 12,
|
||||
"src": "51:95:1",
|
||||
"stateMutability": "pure",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -184,6 +184,7 @@
|
||||
},
|
||||
"src": "51:95:1",
|
||||
"stateMutability": "pure",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -100,6 +100,7 @@
|
||||
"scope": 6,
|
||||
"src": "17:63:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -85,6 +85,7 @@
|
||||
},
|
||||
"src": "17:63:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -191,6 +191,7 @@
|
||||
"scope": 6,
|
||||
"src": "17:179:1",
|
||||
"stateMutability": "pure",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -122,6 +122,7 @@
|
||||
"scope": 6,
|
||||
"src": "17:83:1",
|
||||
"stateMutability": "view",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -107,6 +107,7 @@
|
||||
},
|
||||
"src": "17:83:1",
|
||||
"stateMutability": "view",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -176,6 +176,7 @@
|
||||
},
|
||||
"src": "17:179:1",
|
||||
"stateMutability": "pure",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -149,6 +149,7 @@
|
||||
"scope": 9,
|
||||
"src": "17:76:1",
|
||||
"stateMutability": "pure",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -116,6 +116,7 @@
|
||||
},
|
||||
"src": "17:76:1",
|
||||
"stateMutability": "pure",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -52,6 +52,7 @@
|
||||
"scope": 79,
|
||||
"src": "0:19:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "internal"
|
||||
},
|
||||
@ -87,6 +88,7 @@
|
||||
"scope": 79,
|
||||
"src": "20:19:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "internal"
|
||||
},
|
||||
@ -139,6 +141,7 @@
|
||||
"scope": 78,
|
||||
"src": "56:24:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "internal"
|
||||
},
|
||||
@ -174,6 +177,7 @@
|
||||
"scope": 78,
|
||||
"src": "85:24:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "internal"
|
||||
}
|
||||
@ -495,6 +499,7 @@
|
||||
"scope": 22,
|
||||
"src": "29:80:2",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
@ -695,6 +700,7 @@
|
||||
"scope": 37,
|
||||
"src": "129:63:2",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
@ -1012,6 +1018,7 @@
|
||||
"scope": 60,
|
||||
"src": "29:80:3",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -63,6 +63,7 @@
|
||||
"scope": 142,
|
||||
"src": "0:19:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "internal"
|
||||
},
|
||||
@ -98,6 +99,7 @@
|
||||
"scope": 142,
|
||||
"src": "20:19:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "internal"
|
||||
},
|
||||
@ -133,6 +135,7 @@
|
||||
"scope": 142,
|
||||
"src": "40:19:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "internal"
|
||||
},
|
||||
@ -193,6 +196,7 @@
|
||||
"scope": 53,
|
||||
"src": "76:26:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "external"
|
||||
},
|
||||
@ -228,6 +232,7 @@
|
||||
"scope": 53,
|
||||
"src": "107:27:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "internal"
|
||||
},
|
||||
@ -263,6 +268,7 @@
|
||||
"scope": 53,
|
||||
"src": "139:27:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "internal"
|
||||
},
|
||||
@ -298,6 +304,7 @@
|
||||
"scope": 53,
|
||||
"src": "171:27:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "internal"
|
||||
},
|
||||
@ -411,6 +418,7 @@
|
||||
"scope": 53,
|
||||
"src": "203:76:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
},
|
||||
@ -565,6 +573,7 @@
|
||||
"scope": 53,
|
||||
"src": "284:73:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
@ -633,6 +642,7 @@
|
||||
"scope": 128,
|
||||
"src": "377:27:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "external"
|
||||
},
|
||||
@ -669,6 +679,7 @@
|
||||
"scope": 128,
|
||||
"src": "409:27:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "external"
|
||||
},
|
||||
@ -705,6 +716,7 @@
|
||||
"scope": 128,
|
||||
"src": "441:27:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "external"
|
||||
},
|
||||
@ -740,6 +752,7 @@
|
||||
"scope": 128,
|
||||
"src": "473:27:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "internal"
|
||||
},
|
||||
@ -775,6 +788,7 @@
|
||||
"scope": 128,
|
||||
"src": "505:27:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "internal"
|
||||
},
|
||||
@ -810,6 +824,7 @@
|
||||
"scope": 128,
|
||||
"src": "537:27:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "internal"
|
||||
},
|
||||
@ -997,6 +1012,7 @@
|
||||
"scope": 128,
|
||||
"src": "569:111:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
},
|
||||
@ -1379,6 +1395,7 @@
|
||||
"scope": 128,
|
||||
"src": "685:135:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
@ -1548,6 +1565,7 @@
|
||||
"scope": 141,
|
||||
"src": "845:61:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -96,6 +96,7 @@
|
||||
"scope": 7,
|
||||
"src": "13:20:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
@ -214,6 +215,7 @@
|
||||
"scope": 17,
|
||||
"src": "54:21:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -69,6 +69,7 @@
|
||||
},
|
||||
"src": "13:20:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false
|
||||
}
|
||||
],
|
||||
@ -166,6 +167,7 @@
|
||||
},
|
||||
"src": "54:21:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false
|
||||
}
|
||||
],
|
||||
|
@ -60,6 +60,7 @@
|
||||
"scope": 5,
|
||||
"src": "14:18:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -46,6 +46,7 @@
|
||||
},
|
||||
"src": "14:18:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false
|
||||
}
|
||||
],
|
||||
|
@ -255,6 +255,7 @@
|
||||
"scope": 23,
|
||||
"src": "188:23:3",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -350,6 +350,7 @@
|
||||
"scope": 41,
|
||||
"src": "17:355:1",
|
||||
"stateMutability": "pure",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
},
|
||||
@ -478,6 +479,7 @@
|
||||
"scope": 41,
|
||||
"src": "377:287:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -246,6 +246,7 @@
|
||||
},
|
||||
"src": "17:355:1",
|
||||
"stateMutability": "pure",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
},
|
||||
@ -345,6 +346,7 @@
|
||||
},
|
||||
"src": "377:287:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -363,6 +363,7 @@
|
||||
"scope": 27,
|
||||
"src": "57:271:1",
|
||||
"stateMutability": "pure",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -248,6 +248,7 @@
|
||||
},
|
||||
"src": "57:271:1",
|
||||
"stateMutability": "pure",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -194,6 +194,7 @@
|
||||
},
|
||||
"src": "188:23:3",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -373,6 +373,7 @@
|
||||
"scope": 28,
|
||||
"src": "42:223:1",
|
||||
"stateMutability": "pure",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -251,6 +251,7 @@
|
||||
},
|
||||
"src": "42:223:1",
|
||||
"stateMutability": "pure",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -156,6 +156,7 @@
|
||||
"scope": 14,
|
||||
"src": "16:45:1",
|
||||
"stateMutability": "pure",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "internal"
|
||||
}
|
||||
|
@ -117,6 +117,7 @@
|
||||
},
|
||||
"src": "16:45:1",
|
||||
"stateMutability": "pure",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "internal"
|
||||
}
|
||||
|
@ -123,6 +123,7 @@
|
||||
"scope": 10,
|
||||
"src": "32:45:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
@ -384,6 +385,7 @@
|
||||
"scope": 30,
|
||||
"src": "106:57:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -228,6 +228,7 @@
|
||||
"scope": 16,
|
||||
"src": "49:42:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -28,6 +28,7 @@
|
||||
},
|
||||
"src": "0:20:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
},
|
||||
@ -284,6 +285,7 @@
|
||||
},
|
||||
"src": "61:112:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -60,6 +60,7 @@
|
||||
"scope": 5,
|
||||
"src": "15:33:1",
|
||||
"stateMutability": "payable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "external"
|
||||
}
|
||||
|
@ -60,6 +60,7 @@
|
||||
"scope": 9,
|
||||
"src": "15:32:1",
|
||||
"stateMutability": "payable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "external"
|
||||
},
|
||||
@ -95,6 +96,7 @@
|
||||
"scope": 9,
|
||||
"src": "50:33:1",
|
||||
"stateMutability": "payable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "external"
|
||||
}
|
||||
|
@ -46,6 +46,7 @@
|
||||
},
|
||||
"src": "15:32:1",
|
||||
"stateMutability": "payable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "external"
|
||||
},
|
||||
@ -80,6 +81,7 @@
|
||||
},
|
||||
"src": "50:33:1",
|
||||
"stateMutability": "payable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "external"
|
||||
}
|
||||
|
@ -46,6 +46,7 @@
|
||||
},
|
||||
"src": "15:33:1",
|
||||
"stateMutability": "payable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "external"
|
||||
}
|
||||
|
@ -60,6 +60,7 @@
|
||||
"scope": 5,
|
||||
"src": "14:22:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "external"
|
||||
}
|
||||
|
@ -46,6 +46,7 @@
|
||||
},
|
||||
"src": "14:22:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "external"
|
||||
}
|
||||
|
@ -219,6 +219,7 @@
|
||||
"scope": 17,
|
||||
"src": "13:116:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -168,6 +168,7 @@
|
||||
},
|
||||
"src": "13:116:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -123,6 +123,7 @@
|
||||
"scope": 10,
|
||||
"src": "67:35:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "internal"
|
||||
}
|
||||
@ -301,6 +302,7 @@
|
||||
"scope": 25,
|
||||
"src": "137:40:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -89,6 +89,7 @@
|
||||
},
|
||||
"src": "67:35:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "internal"
|
||||
}
|
||||
@ -215,6 +216,7 @@
|
||||
},
|
||||
"src": "137:40:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -162,6 +162,7 @@
|
||||
"scope": 11,
|
||||
"src": "13:39:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -110,6 +110,7 @@
|
||||
},
|
||||
"src": "13:39:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -171,6 +171,7 @@
|
||||
"scope": 15,
|
||||
"src": "23:45:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -125,6 +125,7 @@
|
||||
},
|
||||
"src": "23:45:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -163,6 +163,7 @@
|
||||
"scope": 14,
|
||||
"src": "39:27:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -129,6 +129,7 @@
|
||||
},
|
||||
"src": "39:27:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -163,6 +163,7 @@
|
||||
"scope": 14,
|
||||
"src": "39:27:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -129,6 +129,7 @@
|
||||
},
|
||||
"src": "39:27:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -224,6 +224,7 @@
|
||||
"scope": 15,
|
||||
"src": "13:65:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -144,6 +144,7 @@
|
||||
},
|
||||
"src": "13:65:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -107,6 +107,7 @@
|
||||
},
|
||||
"src": "113:16:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false
|
||||
}
|
||||
],
|
||||
|
@ -69,6 +69,7 @@
|
||||
"scope": 5,
|
||||
"src": "14:32:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": true,
|
||||
"visibility": "public"
|
||||
}
|
||||
@ -141,6 +142,7 @@
|
||||
"scope": 16,
|
||||
"src": "77:30:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": true,
|
||||
"visibility": "public"
|
||||
},
|
||||
@ -188,6 +190,7 @@
|
||||
"scope": 16,
|
||||
"src": "109:41:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": true,
|
||||
"visibility": "public"
|
||||
}
|
||||
@ -279,6 +282,7 @@
|
||||
"scope": 29,
|
||||
"src": "172:34:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
},
|
||||
@ -326,6 +330,7 @@
|
||||
"scope": 29,
|
||||
"src": "208:34:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -46,6 +46,7 @@
|
||||
},
|
||||
"src": "14:32:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": true,
|
||||
"visibility": "public"
|
||||
}
|
||||
@ -107,6 +108,7 @@
|
||||
},
|
||||
"src": "77:30:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": true,
|
||||
"visibility": "public"
|
||||
},
|
||||
@ -148,6 +150,7 @@
|
||||
},
|
||||
"src": "109:41:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": true,
|
||||
"visibility": "public"
|
||||
}
|
||||
@ -223,6 +226,7 @@
|
||||
},
|
||||
"src": "172:34:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
},
|
||||
@ -264,6 +268,7 @@
|
||||
},
|
||||
"src": "208:34:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -60,6 +60,7 @@
|
||||
"scope": 5,
|
||||
"src": "15:32:1",
|
||||
"stateMutability": "payable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "external"
|
||||
}
|
||||
|
@ -46,6 +46,7 @@
|
||||
},
|
||||
"src": "15:32:1",
|
||||
"stateMutability": "payable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "external"
|
||||
}
|
||||
|
@ -116,6 +116,7 @@
|
||||
"scope": 11,
|
||||
"src": "13:40:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -88,6 +88,7 @@
|
||||
},
|
||||
"src": "13:40:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -127,6 +127,7 @@
|
||||
"scope": 12,
|
||||
"src": "13:45:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -95,6 +95,7 @@
|
||||
},
|
||||
"src": "13:45:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -159,6 +159,7 @@
|
||||
"scope": 12,
|
||||
"src": "13:40:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -114,6 +114,7 @@
|
||||
},
|
||||
"src": "13:40:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -123,6 +123,7 @@
|
||||
"scope": 9,
|
||||
"src": "13:56:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -91,6 +91,7 @@
|
||||
},
|
||||
"src": "13:56:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -69,6 +69,7 @@
|
||||
"scope": 5,
|
||||
"src": "17:30:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": true,
|
||||
"visibility": "public"
|
||||
}
|
||||
@ -128,6 +129,7 @@
|
||||
"scope": 10,
|
||||
"src": "67:30:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": true,
|
||||
"visibility": "public"
|
||||
}
|
||||
@ -261,6 +263,7 @@
|
||||
"scope": 22,
|
||||
"src": "125:37:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -46,6 +46,7 @@
|
||||
},
|
||||
"src": "17:30:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": true,
|
||||
"visibility": "public"
|
||||
}
|
||||
@ -96,6 +97,7 @@
|
||||
},
|
||||
"src": "67:30:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": true,
|
||||
"visibility": "public"
|
||||
}
|
||||
@ -209,6 +211,7 @@
|
||||
},
|
||||
"src": "125:37:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -123,6 +123,7 @@
|
||||
"scope": 9,
|
||||
"src": "13:62:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -91,6 +91,7 @@
|
||||
},
|
||||
"src": "13:62:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -108,6 +108,7 @@
|
||||
"scope": 20,
|
||||
"src": "11:33:1",
|
||||
"stateMutability": "pure",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "internal"
|
||||
},
|
||||
@ -218,6 +219,7 @@
|
||||
"scope": 19,
|
||||
"src": "77:28:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -76,6 +76,7 @@
|
||||
},
|
||||
"src": "11:33:1",
|
||||
"stateMutability": "pure",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "internal"
|
||||
},
|
||||
@ -162,6 +163,7 @@
|
||||
},
|
||||
"src": "77:28:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -206,6 +206,7 @@
|
||||
"scope": 28,
|
||||
"src": "48:47:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "internal"
|
||||
},
|
||||
|
@ -154,6 +154,7 @@
|
||||
},
|
||||
"src": "48:47:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "internal"
|
||||
},
|
||||
|
@ -268,6 +268,7 @@
|
||||
"scope": 50,
|
||||
"src": "61:41:1",
|
||||
"stateMutability": "pure",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "internal"
|
||||
},
|
||||
@ -391,6 +392,7 @@
|
||||
"scope": 50,
|
||||
"src": "103:39:1",
|
||||
"stateMutability": "pure",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "internal"
|
||||
},
|
||||
@ -650,6 +652,7 @@
|
||||
"scope": 49,
|
||||
"src": "160:78:1",
|
||||
"stateMutability": "pure",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
|
@ -139,6 +139,7 @@
|
||||
"scope": 14,
|
||||
"src": "33:19:1",
|
||||
"stateMutability": "nonpayable",
|
||||
"suffix": false,
|
||||
"virtual": false,
|
||||
"visibility": "internal"
|
||||
},
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user